diff --git a/Doc/library/weakref.rst b/Doc/library/weakref.rst
index 5dcb030..a1a3314 100644
--- a/Doc/library/weakref.rst
+++ b/Doc/library/weakref.rst
@@ -65,6 +65,9 @@
 .. versionchanged:: 2.4
    Added support for files, sockets, arrays, and patterns.
 
+.. versionchanged:: 2.7
+   Added support for thread.lock and threading.Lock.
+
 Several built-in types such as :class:`list` and :class:`dict` do not directly
 support weak references but can add support through subclassing::
 
diff --git a/Misc/NEWS b/Misc/NEWS
index 8977e19..7bb0d5e 100644
--- a/Misc/NEWS
+++ b/Misc/NEWS
@@ -359,6 +359,8 @@
 Library
 -------
 
+- The thread.lock type now supports weak references.
+
 - Issue #1356969: Add missing info methods in Tix.HList.
 
 - Issue #1522587: New constants and methods for the Tix.Grid widget.
diff --git a/Modules/threadmodule.c b/Modules/threadmodule.c
index e7638bb..ad84a1e 100644
--- a/Modules/threadmodule.c
+++ b/Modules/threadmodule.c
@@ -3,6 +3,7 @@
 /* Interface to Sjoerd's portable C thread library */
 
 #include "Python.h"
+#include "structmember.h" /* offsetof */
 
 #ifndef WITH_THREAD
 #error "Error!  The rest of Python is not compiled with thread support."
@@ -20,12 +21,15 @@
 typedef struct {
 	PyObject_HEAD
 	PyThread_type_lock lock_lock;
+	PyObject *in_weakreflist;
 } lockobject;
 
 static void
 lock_dealloc(lockobject *self)
 {
 	assert(self->lock_lock);
+	if (self->in_weakreflist != NULL)
+		PyObject_ClearWeakRefs((PyObject *) self);
 	/* Unlock the lock so it's safe to free it */
 	PyThread_acquire_lock(self->lock_lock, 0);
 	PyThread_release_lock(self->lock_lock);
@@ -140,12 +144,12 @@
 	0,		                /* tp_getattro */
 	0,		                /* tp_setattro */
 	0,				/* tp_as_buffer */
-	0,	                        /* tp_flags */
+	Py_TPFLAGS_HAVE_WEAKREFS,       /* tp_flags */
 	0,				/* tp_doc */
 	0,		                /* tp_traverse */
 	0,			        /* tp_clear */
 	0,				/* tp_richcompare */
-	0,	                        /* tp_weaklistoffset */
+	offsetof(lockobject, in_weakreflist),	/* tp_weaklistoffset */
 	0,				/* tp_iter */
 	0,				/* tp_iternext */
 	lock_methods,			/* tp_methods */
@@ -159,6 +163,7 @@
 	if (self == NULL)
 		return NULL;
 	self->lock_lock = PyThread_allocate_lock();
+	self->in_weakreflist = NULL;
 	if (self->lock_lock == NULL) {
 		PyObject_Del(self);
 		self = NULL;
