diff --git a/Include/rangeobject.h b/Include/rangeobject.h
index 359bcb6..847da80 100644
--- a/Include/rangeobject.h
+++ b/Include/rangeobject.h
@@ -7,9 +7,6 @@
 extern "C" {
 #endif
 
-/* This is about the type 'xrange', not the built-in function range(), which
-   returns regular lists. */
-
 /*
 A range object represents an integer range.  This is an immutable object;
 a range cannot change its value after creation.
diff --git a/Lib/test/test_xrange.py b/Lib/test/test_range.py
similarity index 96%
rename from Lib/test/test_xrange.py
rename to Lib/test/test_range.py
index 3a5adf2..65433d4 100644
--- a/Lib/test/test_xrange.py
+++ b/Lib/test/test_range.py
@@ -7,8 +7,8 @@
 warnings.filterwarnings("ignore", "integer argument expected",
                         DeprecationWarning, "unittest")
 
-class XrangeTest(unittest.TestCase):
-    def test_xrange(self):
+class RangeTest(unittest.TestCase):
+    def test_range(self):
         self.assertEqual(list(range(3)), [0, 1, 2])
         self.assertEqual(list(range(1, 5)), [1, 2, 3, 4])
         self.assertEqual(list(range(0)), [])
diff --git a/Objects/rangeobject.c b/Objects/rangeobject.c
index 4a45212..8cefe67 100644
--- a/Objects/rangeobject.c
+++ b/Objects/rangeobject.c
@@ -214,7 +214,7 @@
     if (i < 0 || i >= len) {
         if (!PyErr_Occurred())
             PyErr_SetString(PyExc_IndexError,
-                            "xrange object index out of range");
+                            "range object index out of range");
             return NULL;
         }
 
@@ -313,7 +313,7 @@
 	range_new,		/* tp_new */
 };
 
-/*********************** Xrange Iterator **************************/
+/*********************** range Iterator **************************/
 
 /* There are 2 types of iterators, one for C longs, the other for
    Python longs (ie, PyObjects).  This should make iteration fast
