--- src/pyvorbisinfo.c	2007-03-13 01:23:23.000000000 +0200
+++ src/pyvorbisinfo.c.new	2007-03-13 01:29:36.000000000 +0200
@@ -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);
 }
 
 
@@ -935,6 +935,7 @@
   if (PyArg_ParseTuple(args, "")) {
     return py_comment_new_empty();
   } else {
+    PyErr_Clear(); /* Clear the first error */
     if (!PyArg_ParseTuple(args, "O!", &PyDict_Type, &dict))
       return NULL;
   }
--- src/pyvorbiscodec.c	2003-05-13 11:17:13.000000000 +0300
+++ src/pyvorbiscodec.c.new	2007-03-13 01:31:38.000000000 +0200
@@ -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*
--- src/pyvorbisfile.c	2003-12-19 09:11:02.000000000 +0200
+++ src/pyvorbisfile.c.new	2007-03-13 01:31:19.000000000 +0200
@@ -171,7 +171,7 @@
 
   ret = py_ov_open(newobj, args);
   if (ret == NULL) {
-    PyMem_DEL(newobj);
+    PyObject_Del(newobj);
     return NULL;
   } else
     Py_DECREF(ret);
@@ -195,7 +195,7 @@
     fclose(py_self->c_file);
   }
 
-  PyMem_DEL(self);
+  PyObject_Del(self);
 }
 
 static PyObject *
