diff --git a/Python/sysmodule.c b/Python/sysmodule.c
index 4e52282..6c22b8f 100644
--- a/Python/sysmodule.c
+++ b/Python/sysmodule.c
@@ -643,7 +643,7 @@
 sys_getsizeof(PyObject *self, PyObject *args, PyObject *kwds)
 {
 	PyObject *res = NULL;
-	static PyObject *str__sizeof__, *gc_head_size = NULL;
+	static PyObject *str__sizeof__ = NULL, *gc_head_size = NULL;
 	static char *kwlist[] = {"object", "default", 0};
 	PyObject *o, *dflt = NULL;
 
@@ -651,13 +651,6 @@
 					 kwlist, &o, &dflt))
 		return NULL;
 
-	/* Initialize static variable needed by _PyType_Lookup */
-	if (str__sizeof__ == NULL) {
-		str__sizeof__ = PyString_InternFromString("__sizeof__");
-		if (str__sizeof__ == NULL)
-			return NULL;
-	}
-
         /* Initialize static variable for GC head size */
 	if (gc_head_size == NULL) {
 		gc_head_size = PyInt_FromSsize_t(sizeof(PyGC_Head));
@@ -674,14 +667,16 @@
 		res = PyInt_FromSsize_t(PyInstance_Type.tp_basicsize);
 	/* all other objects */
 	else {
-		PyObject *method = _PyType_Lookup(Py_TYPE(o),
-						  str__sizeof__);
+		PyObject *method = _PyObject_LookupSpecial(o, "__sizeof__",
+							   &str__sizeof__);
 		if (method == NULL)
 			PyErr_Format(PyExc_TypeError,
 				     "Type %.100s doesn't define __sizeof__",
 				     Py_TYPE(o)->tp_name);
-		else
-			res = PyObject_CallFunctionObjArgs(method, o, NULL);
+		else {
+			res = PyObject_CallFunctionObjArgs(method, NULL);
+			Py_DECREF(method);
+		}
 	}
 	
 	/* Has a default value been given? */
