diff --git a/Include/stringobject.h b/Include/stringobject.h
index a67e33e..052eacf 100644
--- a/Include/stringobject.h
+++ b/Include/stringobject.h
@@ -52,6 +52,7 @@
 extern DL_IMPORT(PyTypeObject) PyString_Type;
 
 #define PyString_Check(op) PyObject_TypeCheck(op, &PyString_Type)
+#define PyString_CheckExact(op) ((op)->ob_type == &PyString_Type)
 
 extern DL_IMPORT(PyObject *) PyString_FromStringAndSize(const char *, int);
 extern DL_IMPORT(PyObject *) PyString_FromString(const char *);
diff --git a/Lib/test/test_descr.py b/Lib/test/test_descr.py
index d756dc5..0de4dec 100644
--- a/Lib/test/test_descr.py
+++ b/Lib/test/test_descr.py
@@ -1440,7 +1440,7 @@
         verify(u == s)
     s = madstring("12345")
     #XXX verify(str(s) == "12345")
-    #XXX verify(str(s).__class__ is str)
+    verify(str(s).__class__ is str)
 
     class madunicode(unicode):
         _rev = None
diff --git a/Objects/object.c b/Objects/object.c
index 704ffc1..718dddf 100644
--- a/Objects/object.c
+++ b/Objects/object.c
@@ -250,10 +250,16 @@
 	
 	if (v == NULL)
 		return PyString_FromString("<NULL>");
-	if (PyString_Check(v)) {
+	if (PyString_CheckExact(v)) {
 		Py_INCREF(v);
 		return v;
 	}
+	if (PyString_Check(v)) {
+		/* For a string subtype that's not a string, return a true
+		   string with the same string data. */
+		PyStringObject *s = (PyStringObject *)v;
+		return PyString_FromStringAndSize(s->ob_sval, s->ob_size);
+	}
 	if (v->ob_type->tp_str == NULL)
 		return PyObject_Repr(v);
 
diff --git a/Objects/stringobject.c b/Objects/stringobject.c
index 4c28500..9c873ec 100644
--- a/Objects/stringobject.c
+++ b/Objects/stringobject.c
@@ -2711,7 +2711,7 @@
 	tmp = string_new(&PyString_Type, args, kwds);
 	if (tmp == NULL)
 		return NULL;
-	assert(PyString_Check(tmp));
+	assert(PyString_CheckExact(tmp));
 	new = type->tp_alloc(type, n = PyString_GET_SIZE(tmp));
 	if (new != NULL)
 		memcpy(PyString_AS_STRING(new), PyString_AS_STRING(tmp), n+1);
