diff --git a/Lib/_strptime.py b/Lib/_strptime.py
index 08d7960..ce8525b 100644
--- a/Lib/_strptime.py
+++ b/Lib/_strptime.py
@@ -287,7 +287,20 @@
             _regex_cache.clear()
         format_regex = _regex_cache.get(format)
         if not format_regex:
-            format_regex = time_re.compile(format)
+            try:
+                format_regex = time_re.compile(format)
+            # KeyError raised when a bad format is found; can be specified as
+            # \\, in which case it was a stray % but with a space after it
+            except KeyError, err:
+                bad_directive = err.args[0]
+                if bad_directive == "\\":
+                    bad_directive = "%"
+                del err
+                raise ValueError("'%s' is a bad directive in format '%s'" %
+                                    (bad_directive, format))
+            # IndexError only occurs when the format string is "%"
+            except IndexError:
+                raise ValueError("stray %% in format '%s'" % format)
             _regex_cache[format] = format_regex
     finally:
         _cache_lock.release()
diff --git a/Lib/test/test_strptime.py b/Lib/test/test_strptime.py
index f9763aa..ba65649 100644
--- a/Lib/test/test_strptime.py
+++ b/Lib/test/test_strptime.py
@@ -197,10 +197,20 @@
         """Create testing time tuple."""
         self.time_tuple = time.gmtime()
 
-    def test_TypeError(self):
-        # Make sure ValueError is raised when match fails
+    def test_ValueError(self):
+        # Make sure ValueError is raised when match fails or format is bad
         self.assertRaises(ValueError, _strptime.strptime, data_string="%d",
                           format="%A")
+        for bad_format in ("%", "% ", "%e"):
+            try:
+                _strptime.strptime("2005", bad_format)
+            except ValueError:
+                continue
+            except Exception, err:
+                self.fail("'%s' raised %s, not ValueError" %
+                            (bad_format, err.__class__.__name__))
+            else:
+                self.fail("'%s' did not raise ValueError" % bad_format)
 
     def test_unconverteddata(self):
         # Check ValueError is raised when there is unconverted data
diff --git a/Misc/NEWS b/Misc/NEWS
index 9b3f381..59f165a 100644
--- a/Misc/NEWS
+++ b/Misc/NEWS
@@ -276,6 +276,9 @@
 Library
 -------
 
+- Bug #1340337: change time.strptime() to always return ValueError when there
+  is an error in the format string.
+
 - Patch #754022: Greatly enhanced webbrowser.py (by Oleg Broytmann).
 
 - Bug #729103: pydoc.py: Fix docother() method to accept additional
