diff --git a/Lib/test/test_descr.py b/Lib/test/test_descr.py
index 8d9e81e..b029979 100644
--- a/Lib/test/test_descr.py
+++ b/Lib/test/test_descr.py
@@ -1529,6 +1529,20 @@
     verify(s.lower().__class__ is str)
     verify(s.lower() == base)
 
+    s = madstring("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")
+    verify(intern(s).__class__ is str)
+    verify(intern(s) is i)
+
+    s = madstring(i)
+    verify(intern(s).__class__ is str)
+    verify(intern(s) is i)
+
     class madunicode(unicode):
         _rev = None
         def rev(self):
diff --git a/Objects/stringobject.c b/Objects/stringobject.c
index 3c03b9e..99a16ed 100644
--- a/Objects/stringobject.c
+++ b/Objects/stringobject.c
@@ -3553,10 +3553,26 @@
 		Py_DECREF(s);
 		return;
 	}
-	t = (PyObject *)s;
-	if (PyDict_SetItem(interned, t, t) == 0) {
-		s->ob_sinterned = t;
-		return;
+	/* Ensure that only true string objects appear in the intern dict,
+	   and as the value of ob_sinterned. */
+	if (PyString_CheckExact(s)) {
+		t = (PyObject *)s;
+		if (PyDict_SetItem(interned, t, t) == 0) {
+			s->ob_sinterned = t;
+			return;
+		}
+	}
+	else {
+		t = PyString_FromStringAndSize(PyString_AS_STRING(s),
+						PyString_GET_SIZE(s));
+		if (t != NULL) {
+			if (PyDict_SetItem(interned, t, t) == 0) {
+				*p = s->ob_sinterned = t;
+				Py_DECREF(s);
+				return;
+			}
+			Py_DECREF(t);
+		}
 	}
 	PyErr_Clear();
 }
