diff --git a/Modules/_localemodule.c b/Modules/_localemodule.c
index 5862c1e..9f185be 100644
--- a/Modules/_localemodule.c
+++ b/Modules/_localemodule.c
@@ -34,7 +34,7 @@
 #include <windows.h>
 #endif
 
-#if defined(__APPLE__) || defined(__MWERKS__)
+#if defined(__APPLE__)
 #include "macglue.h"
 #endif
 
diff --git a/Modules/errnomodule.c b/Modules/errnomodule.c
index cd3d2fa..e9c0990 100644
--- a/Modules/errnomodule.c
+++ b/Modules/errnomodule.c
@@ -3,11 +3,6 @@
 
 #include "Python.h"
 
-/* Mac with GUSI has more errors than those in errno.h */
-#ifdef USE_GUSI
-#include <sys/errno.h>
-#endif
-
 /* Windows socket errors (WSA*)  */
 #ifdef MS_WINDOWS
 #include <winsock.h>
diff --git a/Modules/socketmodule.c b/Modules/socketmodule.c
index 427fb29..f93da4e 100644
--- a/Modules/socketmodule.c
+++ b/Modules/socketmodule.c
@@ -1739,11 +1739,6 @@
 			SOCKETCLOSE(fd);
 		return s->errorhandler();
 	}
-#ifdef USE_GUSI2
-	/* Workaround for bug in Metrowerks MSL vs. GUSI I/O library */
-	if (strchr(mode, 'b') != NULL)
-		bufsize = 0;
-#endif
 	f = PyFile_FromFile(fp, "<socket>", mode, fclose);
 	if (f != NULL)
 		PyFile_SetBufSize(f, bufsize);
diff --git a/Modules/structmodule.c b/Modules/structmodule.c
index 22f1c54..b78231f 100644
--- a/Modules/structmodule.c
+++ b/Modules/structmodule.c
@@ -41,15 +41,6 @@
 
 /* Define various structs to figure out the alignments of types */
 
-#ifdef __MWERKS__
-/*
-** XXXX We have a problem here. There are no unique alignment rules
-** on the PowerPC mac.
-*/
-#ifdef __powerc
-#pragma options align=mac68k
-#endif
-#endif /* __MWERKS__ */
 
 typedef struct { char c; short x; } st_short;
 typedef struct { char c; int x; } st_int;
diff --git a/Objects/fileobject.c b/Objects/fileobject.c
index ff66117..66e5f28 100644
--- a/Objects/fileobject.c
+++ b/Objects/fileobject.c
@@ -21,17 +21,6 @@
 #include <windows.h>
 #endif /* _MSC_VER */
 
-#ifdef macintosh
-#ifdef USE_GUSI
-#define HAVE_FTRUNCATE
-#endif
-#endif
-
-#ifdef __MWERKS__
-/* Mwerks fopen() doesn't always set errno */
-#define NO_FOPEN_ERRNO
-#endif
-
 #if defined(PYOS_OS2) && defined(PYCC_GCC)
 #include <io.h>
 #endif
@@ -209,18 +198,6 @@
 		}
 	}
 	if (f->f_fp == NULL) {
-#ifdef NO_FOPEN_ERRNO
-		/* Metroworks only, wich does not always sets errno */
-		if (errno == 0) {
-			PyObject *v;
-			v = Py_BuildValue("(is)", 0, "Cannot open file");
-			if (v != NULL) {
-				PyErr_SetObject(PyExc_IOError, v);
-				Py_DECREF(v);
-			}
-			return NULL;
-		}
-#endif
 #ifdef _MSC_VER
 		/* MSVC 6 (Microsoft) leaves errno at 0 for bad mode strings,
 		 * across all Windows flavors.  When it sets EINVAL varies
@@ -739,12 +716,7 @@
 		   works.  We can't use the lseek() value either, because we
 		   need to take the amount of buffered data into account.
 		   (Yet another reason why stdio stinks. :-) */
-#ifdef USE_GUSI2
-		pos = lseek(fileno(f->f_fp), 1L, SEEK_CUR);
-		pos = lseek(fileno(f->f_fp), -1L, SEEK_CUR);
-#else
 		pos = lseek(fileno(f->f_fp), 0L, SEEK_CUR);
-#endif
 		if (pos >= 0) {
 			pos = ftell(f->f_fp);
 		}
diff --git a/Python/thread.c b/Python/thread.c
index 2298b38..ca2d6c6 100644
--- a/Python/thread.c
+++ b/Python/thread.c
@@ -45,10 +45,6 @@
 #define SUN_LWP
 #endif
 
-#if defined(__MWERKS__) && !defined(__BEOS__)
-#define _POSIX_THREADS
-#endif
-
 #endif /* _POSIX_THREADS */
 
 
diff --git a/Python/thread_pthread.h b/Python/thread_pthread.h
index 0f7ad20..cb03a9b 100644
--- a/Python/thread_pthread.h
+++ b/Python/thread_pthread.h
@@ -68,14 +68,6 @@
 
 #endif
 
-#ifdef USE_GUSI
-/* The Macintosh GUSI I/O library sets the stackspace to
-** 20KB, much too low. We up it to 64K.
-*/
-#define THREAD_STACK_SIZE 0x10000
-#endif
-
-
 /* set default attribute object for different versions */
 
 #if defined(PY_PTHREAD_D4) || defined(PY_PTHREAD_D7)
