diff --git a/Mac/Include/macglue.h b/Mac/Include/macglue.h
index 9213f2f..58b28e0 100644
--- a/Mac/Include/macglue.h
+++ b/Mac/Include/macglue.h
@@ -39,6 +39,10 @@
 #pragma lib_export on
 #endif
 
+#ifdef USE_GUSI
+void PyMac_FixGUSIcd Py_PROTO((void));	/* Workaround for GUSI chdir() call */
+#endif
+
 char *PyMac_StrError(int);			/* strerror with mac errors */
 
 extern int PyMac_DoYieldEnabled;		/* Don't do eventloop when false */
diff --git a/Mac/Modules/macmodule.c b/Mac/Modules/macmodule.c
index 4190db0..75716db 100644
--- a/Mac/Modules/macmodule.c
+++ b/Mac/Modules/macmodule.c
@@ -176,7 +176,17 @@
 	object *self;
 	object *args;
 {
+#ifdef USE_GUSI
+	object *rv;
+	
+	/* Change MacOS's idea of wd too */
+	rv = mac_1str(args, chdir);
+	PyMac_FixGUSIcd();
+	return rv;
+#else
 	return mac_1str(args, chdir);
+#endif
+
 }
 
 static object *
diff --git a/Mac/Python/macglue.c b/Mac/Python/macglue.c
index dd4499e..215accc 100644
--- a/Mac/Python/macglue.c
+++ b/Mac/Python/macglue.c
@@ -51,6 +51,7 @@
 #endif
 #ifdef USE_GUSI
 #include <TFileSpec.h> /* For Path2FSSpec */
+#include <LowMem.h> /* For SetSFCurDir, etc */
 #endif
 
 #ifndef HAVE_UNIVERSAL_HEADERS
@@ -118,6 +119,34 @@
 static DlgHookYDUPP myhook_upp;
 static int upp_inited = 0;
 
+#ifdef USE_GUSI
+/*
+** GUSI (1.6.0 and earlier, at the least) do not set the MacOS idea of
+** the working directory. Hence, we call this routine after each call
+** to chdir() to rectify things.
+*/
+void
+PyMac_FixGUSIcd()
+{
+	WDPBRec pb;
+	FSSpec curdirfss;
+	
+	if ( Path2FSSpec(":x", &curdirfss) != noErr ) 
+		return;
+	
+	/* Set MacOS "working directory" */
+	pb.ioNamePtr= "\p";
+	pb.ioVRefNum= curdirfss.vRefNum;
+	pb.ioWDDirID= curdirfss.parID;
+	if (PBHSetVol(&pb, 0) != noErr)
+		return;
+
+	/* Set standard-file working directory */
+	LMSetSFSaveDisk(-curdirfss.vRefNum);
+	LMSetCurDirStore(curdirfss.parID);
+}
+#endif
+
 
 /* Convert C to Pascal string. Returns pointer to static buffer. */
 unsigned char *
@@ -657,21 +686,8 @@
 		/* It's a pathname */
 		if( !PyArg_Parse(v, "O&", PyMac_GetStr255, &path) )
 			return 0;
-#ifdef USE_GUSI
-		{
-			FSSpec curdirfss;
-			
-			if ( Path2FSSpec(":x", &curdirfss) == 0 ) {
-				refnum = curdirfss.vRefNum;
-				parid = curdirfss.parID;
-			} else {
-				return 0;
-			}
-		}
-#else
-		refnum = 0; /* XXXX Should get CurWD here... */
+		refnum = 0; /* XXXX Should get CurWD here?? */
 		parid = 0;
-#endif
 	} else {
 		if( !PyArg_Parse(v, "(hlO&); FSSpec should be fullpath or (vrefnum,dirid,path)",
 							&refnum, &parid, PyMac_GetStr255, &path)) {
@@ -687,7 +703,6 @@
 }
 
 
-
 /* Convert a Python object to a Rect.
    The object must be a (left, top, right, bottom) tuple.
    (This differs from the order in the struct but is consistent with
diff --git a/Mac/Python/macmain.c b/Mac/Python/macmain.c
index 3d878ed..5cea381 100644
--- a/Mac/Python/macmain.c
+++ b/Mac/Python/macmain.c
@@ -192,6 +192,10 @@
 			*endp = '\0';
 
 			chdir(curwd);
+#ifdef USE_GUSI
+			/* Change MacOS's idea of wd too */
+			PyMac_FixGUSIcd();
+#endif
 		}
 	}
 	Py_Main(argc, argv);
