diff --git a/Lib/threading.py b/Lib/threading.py
index fe4490f..9cc108e 100644
--- a/Lib/threading.py
+++ b/Lib/threading.py
@@ -536,24 +536,26 @@
             if not self.__stopped:
                 self._note("%s.join(): waiting until thread stops", self)
         self.__block.acquire()
-        if timeout is None:
-            while not self.__stopped:
-                self.__block.wait()
-            if __debug__:
-                self._note("%s.join(): thread stopped", self)
-        else:
-            deadline = _time() + timeout
-            while not self.__stopped:
-                delay = deadline - _time()
-                if delay <= 0:
-                    if __debug__:
-                        self._note("%s.join(): timed out", self)
-                    break
-                self.__block.wait(delay)
-            else:
+        try:
+            if timeout is None:
+                while not self.__stopped:
+                    self.__block.wait()
                 if __debug__:
                     self._note("%s.join(): thread stopped", self)
-        self.__block.release()
+            else:
+                deadline = _time() + timeout
+                while not self.__stopped:
+                    delay = deadline - _time()
+                    if delay <= 0:
+                        if __debug__:
+                            self._note("%s.join(): timed out", self)
+                        break
+                    self.__block.wait(delay)
+                else:
+                    if __debug__:
+                        self._note("%s.join(): thread stopped", self)
+        finally:
+            self.__block.release()
 
     def getName(self):
         assert self.__initialized, "Thread.__init__() not called"
diff --git a/Misc/ACKS b/Misc/ACKS
index 72ed346..8eebc05 100644
--- a/Misc/ACKS
+++ b/Misc/ACKS
@@ -63,6 +63,7 @@
 Martin Bless
 Pablo Bleyer
 Erik van Blokland
+Eric Blossom
 Finn Bock
 Paul Boddie
 Matthew Boedicker
diff --git a/Misc/NEWS b/Misc/NEWS
index 9550156..73171f3 100644
--- a/Misc/NEWS
+++ b/Misc/NEWS
@@ -284,6 +284,10 @@
 Library
 -------
 
+- Patch #1314396: prevent deadlock for threading.Thread.join() when an exception
+  is raised within the method itself on a previous call (e.g., passing in an
+  illegal argument)
+
 - Bug #1340337: change time.strptime() to always return ValueError when there
   is an error in the format string.
 
