diff --git a/Lib/test/test_sys.py b/Lib/test/test_sys.py
index 4118da4..8862661 100644
--- a/Lib/test/test_sys.py
+++ b/Lib/test/test_sys.py
@@ -356,7 +356,7 @@
         # We don't want them in the interned dict and if they aren't
         # actually interned, we don't want to create the appearance
         # that they are by allowing intern() to succeeed.
-        class S(str):
+        class S(str8):
             def __hash__(self):
                 return 123
 
@@ -368,6 +368,17 @@
         setattr(s, s, s)
         self.assertEqual(getattr(s, s), s)
 
+        s = "never interned as unicode before"
+        self.assert_(sys.intern(s) is s)
+        s2 = s.swapcase().swapcase()
+        self.assert_(sys.intern(s2) is s)
+
+        class U(str):
+            def __hash__(self):
+                return 123
+
+        self.assertRaises(TypeError, sys.intern, U("abc"))
+
 
 def test_main():
     test.test_support.run_unittest(SysModuleTest)
