diff --git a/Lib/test/test_threading.py b/Lib/test/test_threading.py
index 8614ecb..7c64818 100644
--- a/Lib/test/test_threading.py
+++ b/Lib/test/test_threading.py
@@ -3,6 +3,7 @@
 import test.test_support
 from test.test_support import verbose
 import random
+import sys
 import threading
 import thread
 import time
@@ -201,6 +202,24 @@
             t.join()
         # else the thread is still running, and we have no way to kill it
 
+    def test_enumerate_after_join(self):
+        # Try hard to trigger #1703448: a thread is still returned in
+        # threading.enumerate() after it has been join()ed.
+        enum = threading.enumerate
+        old_interval = sys.getcheckinterval()
+        sys.setcheckinterval(1)
+        try:
+            for i in xrange(1, 1000):
+                t = threading.Thread(target=lambda: None)
+                t.start()
+                t.join()
+                l = enum()
+                self.assertFalse(t in l,
+                    "#1703448 triggered after %d trials: %s" % (i, l))
+        finally:
+            sys.setcheckinterval(old_interval)
+
+
 def test_main():
     test.test_support.run_unittest(ThreadTests)
 
diff --git a/Lib/threading.py b/Lib/threading.py
index 7b07265..bab3b42 100644
--- a/Lib/threading.py
+++ b/Lib/threading.py
@@ -524,11 +524,17 @@
                 if __debug__:
                     self._note("%s.__bootstrap(): normal return", self)
         finally:
-            self.__stop()
+            _active_limbo_lock.acquire()
             try:
-                self.__delete()
-            except:
-                pass
+                self.__stop()
+                try:
+                    # We don't call self.__delete() because it also
+                    # grabs _active_limbo_lock.
+                    del _active[_get_ident()]
+                except:
+                    pass
+            finally:
+                _active_limbo_lock.release()
 
     def __stop(self):
         self.__block.acquire()
diff --git a/Misc/NEWS b/Misc/NEWS
index dd06f60..1fa60b0 100644
--- a/Misc/NEWS
+++ b/Misc/NEWS
@@ -55,6 +55,10 @@
 
 - Bug #1733488: Fix compilation of bufferobject.c on AIX.
 
+- Fix Issue #1703448: A joined thread could show up in the
+  threading.enumerate() list after the join() for a brief period until
+  it actually exited.
+
 
 Library
 -------
