Fix for #1087741 patch.
diff --git a/Lib/test/test_mmap.py b/Lib/test/test_mmap.py
index 8cc8ded..91d6275 100644
--- a/Lib/test/test_mmap.py
+++ b/Lib/test/test_mmap.py
@@ -420,6 +420,13 @@
             except OSError:
                 pass
 
+    def test_subclass(self):
+        class anon_mmap(mmap.mmap):
+            def __new__(klass, *args, **kwargs):
+                return mmap.mmap.__new__(klass, -1, *args, **kwargs)
+        anon_mmap(PAGESIZE)
+
+
 def test_main():
     run_unittest(MmapTests)
 
diff --git a/Modules/mmapmodule.c b/Modules/mmapmodule.c
index dfbc8fc..09e9465 100644
--- a/Modules/mmapmodule.c
+++ b/Modules/mmapmodule.c
@@ -129,7 +129,7 @@
 	}
 #endif /* UNIX */
 
-	PyObject_Del(m_obj);
+	m_obj->ob_type->tp_free((PyObject*)m_obj);
 }
 
 static PyObject *