diff --git a/Mac/Modules/Nav.c b/Mac/Modules/Nav.c
index aa843c7..fb0c21b 100644
--- a/Mac/Modules/Nav.c
+++ b/Mac/Modules/Nav.c
@@ -309,7 +309,7 @@
 navrr_dealloc(navrrobject *self)
 {
 	NavDisposeReply(&self->itself);
-	PyMem_DEL(self);
+	PyObject_DEL(self);
 }
 
 static PyObject *
diff --git a/Mac/Modules/calldll.c b/Mac/Modules/calldll.c
index 8d130ce..e2c2e3e 100644
--- a/Mac/Modules/calldll.c
+++ b/Mac/Modules/calldll.c
@@ -543,7 +543,7 @@
 cdr_dealloc(self)
 	cdrobject *self;
 {
-	PyMem_DEL(self);
+	PyObject_DEL(self);
 }
 
 static PyObject *
@@ -631,7 +631,7 @@
 	cdcobject *self;
 {
 	Py_XDECREF(self->routine);
-	PyMem_DEL(self);
+	PyObject_DEL(self);
 }
 
 
@@ -855,7 +855,7 @@
 cdf_dealloc(self)
 	cdfobject *self;
 {
-	PyMem_DEL(self);
+	PyObject_DEL(self);
 }
 
 static PyObject *
diff --git a/Mac/Modules/ctbmodule.c b/Mac/Modules/ctbmodule.c
index 129896e..3dc8f0f 100644
--- a/Mac/Modules/ctbmodule.c
+++ b/Mac/Modules/ctbmodule.c
@@ -186,7 +186,7 @@
 		CMDispose(self->hdl);
 		self->hdl = NULL;
 	}
-	PyMem_DEL(self);
+	PyObject_DEL(self);
 }
 
 static PyObject *
diff --git a/Mac/Modules/htmlrender/HtmlRendermodule.c b/Mac/Modules/htmlrender/HtmlRendermodule.c
index 8015ab8..08df21f 100644
--- a/Mac/Modules/htmlrender/HtmlRendermodule.c
+++ b/Mac/Modules/htmlrender/HtmlRendermodule.c
@@ -83,7 +83,7 @@
 	HtmlObjectObject *self;
 {
 	/* Cleanup of self->ob_itself goes here */
-	PyMem_DEL(self);
+	PyObject_DEL(self);
 }
 
 static PyObject *HtmlObj_HRDisposeReference(_self, _args)
diff --git a/Mac/Modules/icgluemodule.c b/Mac/Modules/icgluemodule.c
index 3061f98..1368ff2 100644
--- a/Mac/Modules/icgluemodule.c
+++ b/Mac/Modules/icgluemodule.c
@@ -460,7 +460,7 @@
 		return NULL;
 	if ((err=ICStart(&self->inst, creator)) != 0 ) {
 		(void)PyMac_Error(err);
-		PyMem_DEL(self);
+		PyObject_DEL(self);
 		return NULL;
 	}
 	return self;
@@ -471,7 +471,7 @@
 ici_dealloc(iciobject *self)
 {
 	(void)ICStop(self->inst);
-	PyMem_DEL(self);
+	PyObject_DEL(self);
 }
 
 static PyObject *
diff --git a/Mac/Modules/macfsmodule.c b/Mac/Modules/macfsmodule.c
index 9179c36..a251811 100644
--- a/Mac/Modules/macfsmodule.c
+++ b/Mac/Modules/macfsmodule.c
@@ -227,7 +227,7 @@
 	}
 #endif
 		
-	PyMem_DEL(self);
+	PyObject_DEL(self);
 }
 
 statichere PyTypeObject Mfsatype = {
@@ -276,7 +276,7 @@
 static void
 mfsi_dealloc(mfsiobject *self)
 {
-	PyMem_DEL(self);
+	PyObject_DEL(self);
 }
 
 static PyObject *
@@ -700,7 +700,7 @@
 static void
 mfss_dealloc(mfssobject *self)
 {
-	PyMem_DEL(self);
+	PyObject_DEL(self);
 }
 
 static PyObject *
@@ -846,7 +846,7 @@
 static void
 mfsr_dealloc(mfsrobject *self)
 {
-	PyMem_DEL(self);
+	PyObject_DEL(self);
 }
 
 statichere PyTypeObject Mfsrtype = {
diff --git a/Mac/Modules/macosmodule.c b/Mac/Modules/macosmodule.c
index cc838b8..671d67d 100644
--- a/Mac/Modules/macosmodule.c
+++ b/Mac/Modules/macosmodule.c
@@ -259,7 +259,7 @@
 rf_dealloc(rfobject *self)
 {
 	do_close(self);
-	PyMem_DEL(self);
+	PyObject_DEL(self);
 }
 
 static PyObject *
diff --git a/Mac/Modules/macspeechmodule.c b/Mac/Modules/macspeechmodule.c
index 9b6a1f7..b8bed57 100644
--- a/Mac/Modules/macspeechmodule.c
+++ b/Mac/Modules/macspeechmodule.c
@@ -117,7 +117,7 @@
 	scobject *self;
 {
 	DisposeSpeechChannel(self->chan);
-	PyMem_DEL(self);
+	PyObject_DEL(self);
 }
 
 static PyObject *
@@ -324,7 +324,7 @@
 mv_dealloc(self)
 	mvobject *self;
 {
-	PyMem_DEL(self);
+	PyObject_DEL(self);
 }
 
 static PyObject *
diff --git a/Mac/Modules/scrap/_Scrapmodule.c b/Mac/Modules/scrap/_Scrapmodule.c
index cc48a81..4b3d865 100644
--- a/Mac/Modules/scrap/_Scrapmodule.c
+++ b/Mac/Modules/scrap/_Scrapmodule.c
@@ -78,7 +78,7 @@
 static void ScrapObj_dealloc(ScrapObject *self)
 {
 	/* Cleanup of self->ob_itself goes here */
-	PyMem_DEL(self);
+	PyObject_DEL(self);
 }
 
 static PyObject *ScrapObj_GetScrapFlavorFlags(ScrapObject *_self, PyObject *_args)
