diff --git a/Lib/_strptime.py b/Lib/_strptime.py
index dcc447b..ba9dde0 100644
--- a/Lib/_strptime.py
+++ b/Lib/_strptime.py
@@ -501,16 +501,17 @@
             # Since -1 is default value only need to worry about setting tz if
             # it can be something other than -1.
             found_zone = found_dict['Z'].lower()
-            if locale_time.timezone[0] == locale_time.timezone[1]:
+            if locale_time.timezone[0] == locale_time.timezone[1] and \
+               time.daylight:
                 pass #Deals with bad locale setup where timezone info is
                      # the same; first found on FreeBSD 4.4.
             elif found_zone in ("utc", "gmt"):
                 tz = 0
             elif locale_time.timezone[2].lower() == found_zone:
                 tz = 0
-            elif time.daylight:
-                if locale_time.timezone[3].lower() == found_zone:
-                    tz = 1
+            elif time.daylight and \
+                locale_time.timezone[3].lower() == found_zone:
+                tz = 1
 
     # Cannot pre-calculate datetime_date() since can change in Julian
     #calculation and thus could have different value for the day of the week
diff --git a/Lib/test/test_strptime.py b/Lib/test/test_strptime.py
index 2966e22..dcde2c3 100644
--- a/Lib/test/test_strptime.py
+++ b/Lib/test/test_strptime.py
@@ -303,14 +303,14 @@
         strf_output = time.strftime("%Z")  #UTC does not have a timezone
         strp_output = _strptime.strptime(strf_output, "%Z")
         locale_time = _strptime.LocaleTime()
-        if time.tzname[0] != time.tzname[1]:
+        if time.tzname[0] != time.tzname[1] or not time.daylight:
             self.failUnless(strp_output[8] == time_tuple[8],
                             "timezone check failed; '%s' -> %s != %s" %
                              (strf_output, strp_output[8], time_tuple[8]))
         else:
             self.failUnless(strp_output[8] == -1,
-                            "LocaleTime().timezone has duplicate values but "
-                             "timezone value not set to -1")
+                            "LocaleTime().timezone has duplicate values and "
+                             "time.daylight but timezone value not set to -1")
 
     def test_date_time(self):
         # Test %c directive
