diff --git a/Lib/test/test_descr.py b/Lib/test/test_descr.py
index 9e8565f..ed3cea4 100644
--- a/Lib/test/test_descr.py
+++ b/Lib/test/test_descr.py
@@ -1555,7 +1555,7 @@
             self._rev = self.__class__("".join(L))
             return self._rev
     s = madstring("abcdefghijklmnopqrstuvwxyz")
-    #XXX verify(s == "abcdefghijklmnopqrstuvwxyz")
+    verify(s == "abcdefghijklmnopqrstuvwxyz")
     verify(s.rev() == madstring("zyxwvutsrqponmlkjihgfedcba"))
     verify(s.rev().rev() == madstring("abcdefghijklmnopqrstuvwxyz"))
     for i in range(256):
@@ -1569,12 +1569,12 @@
 
     base = "\x00" * 5
     s = madstring(base)
-    #XXX verify(s == base)
+    verify(s == base)
     verify(str(s) == base)
     verify(str(s).__class__ is str)
     verify(hash(s) == hash(base))
-    #XXX verify({s: 1}[base] == 1)
-    #XXX verify({base: 1}[s] == 1)
+    verify({s: 1}[base] == 1)
+    verify({base: 1}[s] == 1)
     verify((s + "").__class__ is str)
     verify(s + "" == base)
     verify(("" + s).__class__ is str)
@@ -1613,14 +1613,14 @@
     verify(s.lower() == base)
 
     s = madstring("x y")
-    #XXX verify(s == "x y")
+    verify(s == "x y")
     verify(intern(s).__class__ is str)
     verify(intern(s) is intern("x y"))
     verify(intern(s) == "x y")
 
     i = intern("y x")
     s = madstring("y x")
-    #XXX verify(s == i)
+    verify(s == i)
     verify(intern(s).__class__ is str)
     verify(intern(s) is i)
 
diff --git a/Objects/stringobject.c b/Objects/stringobject.c
index 99a16ed..e29be5a 100644
--- a/Objects/stringobject.c
+++ b/Objects/stringobject.c
@@ -824,9 +824,10 @@
 	int min_len;
 	PyObject *result;
 
-	/* One of the objects is a string object. Make sure the
-	   other one is one, too.  */
-	if (a->ob_type != b->ob_type) {
+	/* May sure both arguments use string comparison.
+	   This implies PyString_Check(a) && PyString_Check(b). */
+	if (a->ob_type->tp_richcompare != (richcmpfunc)string_richcompare ||
+	    b->ob_type->tp_richcompare != (richcmpfunc)string_richcompare) {
 		result = Py_NotImplemented;
 		goto out;
 	}
