diff --git a/Lib/_strptime.py b/Lib/_strptime.py
index 22455ae..d93139e 100644
--- a/Lib/_strptime.py
+++ b/Lib/_strptime.py
@@ -15,6 +15,7 @@
 import calendar
 from re import compile as re_compile
 from re import IGNORECASE
+from re import escape as re_escape
 from datetime import date as datetime_date
 try:
     from thread import allocate_lock as _thread_allocate_lock
@@ -232,7 +233,7 @@
             return ''
         to_convert = to_convert[:]
         to_convert.sort(key=len, reverse=True)
-        regex = '|'.join(to_convert)
+        regex = '|'.join(re_escape(stuff) for stuff in to_convert)
         regex = '(?P<%s>%s' % (directive, regex)
         return '%s)' % regex
 
@@ -245,7 +246,8 @@
         """
         processed_format = ''
         # The sub() call escapes all characters that might be misconstrued
-        # as regex syntax.
+        # as regex syntax.  Cannot use re.escape since we have to deal with
+        # format directives (%m, etc.).
         regex_chars = re_compile(r"([\\.^$*+?\(\){}\[\]|])")
         format = regex_chars.sub(r"\\\1", format)
         whitespace_replacement = re_compile('\s+')
diff --git a/Lib/test/test_strptime.py b/Lib/test/test_strptime.py
index 5aaa9a7..17f339b 100644
--- a/Lib/test/test_strptime.py
+++ b/Lib/test/test_strptime.py
@@ -176,6 +176,19 @@
         found = compiled_re.match("\w+ 10")
         self.failUnless(found, "Escaping failed of format '\w+ 10'")
 
+    def test_locale_data_w_regex_metacharacters(self):
+        # Check that if locale data contains regex metacharacters they are
+        # escaped properly.
+        # Discovered by bug #1039270 .
+        locale_time = _strptime.LocaleTime()
+        locale_time.timezone = (frozenset(("utc", "gmt",
+                                            "Tokyo (standard time)")),
+                                frozenset("Tokyo (daylight time)"))
+        time_re = _strptime.TimeRE(locale_time)
+        self.failUnless(time_re.compile("%Z").match("Tokyo (standard time)"),
+                        "locale data that contains regex metacharacters is not"
+                        " properly escaped")
+
 class StrptimeTests(unittest.TestCase):
     """Tests for _strptime.strptime."""
 
