diff -ur pyvorbis-1.4-old/src/pyvorbiscodec.c pyvorbis-1.4/src/pyvorbiscodec.c
--- pyvorbis-1.4-old/src/pyvorbiscodec.c	2003-05-13 11:17:13.000000000 +0300
+++ pyvorbis-1.4/src/pyvorbiscodec.c	2007-09-20 01:57:54.000000000 +0300
@@ -118,7 +118,7 @@
 {
   vorbis_dsp_clear(PY_DSP(self));
   Py_XDECREF(((py_dsp *)self)->parent);
-  PyMem_DEL(self);
+  PyObject_Del(self);
 }
 
 static PyObject*
@@ -447,7 +447,7 @@
 {
   vorbis_block_clear(PY_BLOCK(self));
   Py_XDECREF(((py_block *)self)->parent);
-  PyMem_DEL(self);
+  PyObject_Del(self);
 }
 
 static PyObject*
diff -ur pyvorbis-1.4-old/src/pyvorbisfile.c pyvorbis-1.4/src/pyvorbisfile.c
--- pyvorbis-1.4-old/src/pyvorbisfile.c	2003-12-19 09:11:02.000000000 +0200
+++ pyvorbis-1.4/src/pyvorbisfile.c	2007-09-20 01:59:41.000000000 +0300
@@ -173,8 +173,7 @@
   if (ret == NULL) {
     PyMem_DEL(newobj);
     return NULL;
-  } else
-    Py_DECREF(ret);
+  }
 
   return (PyObject *) newobj;
 }
@@ -195,7 +194,8 @@
     fclose(py_self->c_file);
   }
 
-  PyMem_DEL(self);
+  free(py_self->ovf);
+  PyObject_Del(self);
 }
 
 static PyObject *
diff -ur pyvorbis-1.4-old/src/pyvorbisinfo.c pyvorbis-1.4/src/pyvorbisinfo.c
--- pyvorbis-1.4-old/src/pyvorbisinfo.c	2003-12-19 09:51:36.000000000 +0200
+++ pyvorbis-1.4/src/pyvorbisinfo.c	2007-09-20 02:01:58.000000000 +0300
@@ -134,7 +134,7 @@
 static void
 py_ov_info_dealloc(PyObject *self)
 {
-  PyMem_DEL(self);
+  PyObject_Del(self);
 }
 
 #define CMP_RET(x) \
@@ -418,7 +418,7 @@
     free(ovc_self->vc);
   }
 
-  PyMem_DEL(self);
+  PyObject_Del(self);
 }