diff --git a/Modules/threadmodule.c b/Modules/threadmodule.c
index a87ddb3..e7638bb 100644
--- a/Modules/threadmodule.c
+++ b/Modules/threadmodule.c
@@ -116,15 +116,9 @@
 	 METH_VARARGS, acquire_doc},
 	{"__exit__",    (PyCFunction)lock_PyThread_release_lock,
 	 METH_VARARGS, release_doc},
-	{NULL,           NULL}		/* sentinel */
+	{NULL}		/* sentinel */
 };
 
-static PyObject *
-lock_getattr(lockobject *self, char *name)
-{
-	return Py_FindMethod(lock_methods, (PyObject *)self, name);
-}
-
 static PyTypeObject Locktype = {
 	PyVarObject_HEAD_INIT(&PyType_Type, 0)
 	"thread.lock",			/*tp_name*/
@@ -133,10 +127,28 @@
 	/* methods */
 	(destructor)lock_dealloc,	/*tp_dealloc*/
 	0,				/*tp_print*/
-	(getattrfunc)lock_getattr,	/*tp_getattr*/
+	0,	                        /*tp_getattr*/
 	0,				/*tp_setattr*/
 	0,				/*tp_compare*/
 	0,				/*tp_repr*/
+	0,				/* tp_as_number */
+	0,				/* tp_as_sequence */
+	0,				/* tp_as_mapping */
+	0,		                /* tp_hash */
+	0,			        /* tp_call */
+	0,				/* tp_str */
+	0,		                /* tp_getattro */
+	0,		                /* tp_setattro */
+	0,				/* tp_as_buffer */
+	0,	                        /* tp_flags */
+	0,				/* tp_doc */
+	0,		                /* tp_traverse */
+	0,			        /* tp_clear */
+	0,				/* tp_richcompare */
+	0,	                        /* tp_weaklistoffset */
+	0,				/* tp_iter */
+	0,				/* tp_iternext */
+	lock_methods,			/* tp_methods */
 };
 
 static lockobject *
@@ -709,6 +721,8 @@
 	ThreadError = PyErr_NewException("thread.error", NULL, NULL);
 	PyDict_SetItemString(d, "error", ThreadError);
 	Locktype.tp_doc = lock_doc;
+	if (PyType_Ready(&Locktype) < 0)
+		return;
 	Py_INCREF(&Locktype);
 	PyDict_SetItemString(d, "LockType", (PyObject *)&Locktype);
 
