diff --git a/Lib/test/test_threading.py b/Lib/test/test_threading.py
index cb6f6d2..463d0d8 100644
--- a/Lib/test/test_threading.py
+++ b/Lib/test/test_threading.py
@@ -83,11 +83,24 @@
             t.join(NUMTASKS)
             self.assert_(not t.is_alive())
             self.failIfEqual(t.ident, 0)
+            self.assertFalse(t.ident is None)
             self.assert_(re.match('<TestThread\(.*, \w+ -?\d+\)>', repr(t)))
         if verbose:
             print 'all tasks done'
         self.assertEqual(numrunning.get(), 0)
 
+    def test_ident_of_no_threading_threads(self):
+        # The ident still must work for the main thread and dummy threads.
+        self.assertFalse(threading.currentThread().ident is None)
+        def f():
+            ident.append(threading.currentThread().ident)
+            done.set()
+        done = threading.Event()
+        ident = []
+        thread.start_new_thread(f, ())
+        done.wait()
+        self.assertFalse(ident[0] is None)
+
     # run with a small(ish) thread stack size (256kB)
     def test_various_ops_small_stack(self):
         if verbose:
diff --git a/Lib/threading.py b/Lib/threading.py
index 28a8a2f..13409db 100644
--- a/Lib/threading.py
+++ b/Lib/threading.py
@@ -500,9 +500,12 @@
                 return
             raise
 
+    def _set_ident(self):
+        self.__ident = _get_ident()
+
     def __bootstrap_inner(self):
         try:
-            self.__ident = _get_ident()
+            self._set_ident()
             self.__started.set()
             with _active_limbo_lock:
                 _active[self.__ident] = self
@@ -733,6 +736,7 @@
     def __init__(self):
         Thread.__init__(self, name="MainThread")
         self._Thread__started.set()
+        self._set_ident()
         with _active_limbo_lock:
             _active[_get_ident()] = self
 
@@ -778,6 +782,7 @@
         del self._Thread__block
 
         self._Thread__started.set()
+        self._set_ident()
         with _active_limbo_lock:
             _active[_get_ident()] = self
 
diff --git a/Misc/NEWS b/Misc/NEWS
index 6d6d292..6bded6b 100644
--- a/Misc/NEWS
+++ b/Misc/NEWS
@@ -199,6 +199,9 @@
 Library
 -------
 
+- Issue #5632: Thread.ident was None for the main thread and threads not created
+  with the threading module.
+
 - Issue #5400: Added patch for multiprocessing on netbsd compilation/support
 
 - Issue #5387: Fixed mmap.move crash by integer overflow.
