diff --git a/Lib/test/test_urllib.py b/Lib/test/test_urllib.py
index 1ca197f..55a03da 100644
--- a/Lib/test/test_urllib.py
+++ b/Lib/test/test_urllib.py
@@ -126,6 +126,19 @@
         finally:
             self.unfakehttp()
 
+    def test_read_bogus(self):
+        "urlopen() should raise IOError for many error codes."
+        self.fakehttp('''HTTP/1.1 401 Authentication Required
+Date: Wed, 02 Jan 2008 03:03:54 GMT
+Server: Apache/1.3.33 (Debian GNU/Linux) mod_ssl/2.8.22 OpenSSL/0.9.7e
+Connection: close
+Content-Type: text/html; charset=iso-8859-1
+''')
+        try:
+            self.assertRaises(IOError, urllib.urlopen, "http://python.org/")
+        finally:
+            self.unfakehttp()
+
     def test_empty_socket(self):
         """urlopen() raises IOError if the underlying socket does not send any
         data. (#1680230) """
diff --git a/Lib/urllib.py b/Lib/urllib.py
index ad0e72b..c6751b8 100644
--- a/Lib/urllib.py
+++ b/Lib/urllib.py
@@ -342,7 +342,7 @@
                             'got a bad status line', None)
         # According to RFC 2616, "2xx" code indicates that the client's
         # request was successfully received, understood, and accepted.
-        if not (200 <= errcode < 300):
+        if (200 <= errcode < 300):
             return addinfourl(fp, headers, "http:" + url)
         else:
             if data is None:
@@ -437,7 +437,7 @@
                                 'got a bad status line', None)
             # According to RFC 2616, "2xx" code indicates that the client's
             # request was successfully received, understood, and accepted.
-            if not (200 <= errcode < 300):
+            if (200 <= errcode < 300):
                 return addinfourl(fp, headers, "https:" + url)
             else:
                 if data is None:
