diff --git a/Lib/test/test_urllib2.py b/Lib/test/test_urllib2.py
index 32ffd0a..5a631b3 100644
--- a/Lib/test/test_urllib2.py
+++ b/Lib/test/test_urllib2.py
@@ -1350,6 +1350,11 @@
         req = Request(url)
         self.assertEqual(req.get_full_url(), url)
 
+    def test_private_attributes(self):
+        self.assertFalse(hasattr(self.get, '_Request__r_xxx'))
+        # Issue #6500: infinite recursion
+        self.assertFalse(hasattr(self.get, '_Request__r_method'))
+
     def test_HTTPError_interface(self):
         """
         Issue 13211 reveals that HTTPError didn't implement the URLError
diff --git a/Lib/urllib2.py b/Lib/urllib2.py
index 9277b1d..8ec5e2a 100644
--- a/Lib/urllib2.py
+++ b/Lib/urllib2.py
@@ -248,11 +248,9 @@
         # methods getting called in a non-standard order.  this may be
         # too complicated and/or unnecessary.
         # XXX should the __r_XXX attributes be public?
-        if attr[:12] == '_Request__r_':
-            name = attr[12:]
-            if hasattr(Request, 'get_' + name):
-                getattr(self, 'get_' + name)()
-                return getattr(self, attr)
+        if attr in ('_Request__r_type', '_Request__r_host'):
+            getattr(self, 'get_' + attr[12:])()
+            return self.__dict__[attr]
         raise AttributeError, attr
 
     def get_method(self):
diff --git a/Misc/NEWS b/Misc/NEWS
index 6b5c418..3117809 100644
--- a/Misc/NEWS
+++ b/Misc/NEWS
@@ -39,6 +39,8 @@
 Library
 -------
 
+- Issue #6500: Fixed infinite recursion in urllib2.Request.__getattr__().
+
 - Issue #26083: Workaround a subprocess bug that raises an incorrect
   "ValueError: insecure string pickle" exception instead of the actual
   exception on some platforms such as Mac OS X when an exception raised
