diff --git a/Lib/test/test_locale.py b/Lib/test/test_locale.py
index 5fcba6f..ef1f5c2 100644
--- a/Lib/test/test_locale.py
+++ b/Lib/test/test_locale.py
@@ -78,42 +78,3 @@
 
 finally:
     locale.setlocale(locale.LC_NUMERIC, oldlocale)
-
-
-# Test BSD Rune locale's bug for isctype functions.
-def teststrop(s, method, output):
-    s = str8(s, 'latin1') # XXX
-    if verbose:
-        print("%s.%s() =? %s ..." % (repr(s), method, repr(output)), end=' ')
-    result = getattr(s, method)()
-    if result != output:
-        if verbose:
-            print("no")
-        print("%s.%s() == %s != %s" % (repr(s), method, repr(result),
-                                       repr(output)))
-    elif verbose:
-        print("yes")
-
-try:
-    if sys.platform == 'sunos5':
-        # On Solaris, in en_US.UTF-8, \xa0 is a space
-        raise locale.Error
-    oldlocale = locale.setlocale(locale.LC_CTYPE)
-    locale.setlocale(locale.LC_CTYPE, 'en_US.UTF-8')
-except locale.Error:
-    pass
-else:
-    try:
-        teststrop('\x20', 'isspace', True)
-        teststrop('\xa0', 'isspace', False)
-        teststrop('\xa1', 'isspace', False)
-        teststrop('\xc0', 'isalpha', False)
-        teststrop('\xc0', 'isalnum', False)
-        teststrop('\xc0', 'isupper', False)
-        teststrop('\xc0', 'islower', False)
-        teststrop('\xec\xa0\xbc', 'split', ['\xec\xa0\xbc'])
-        teststrop('\xed\x95\xa0', 'strip', '\xed\x95\xa0')
-        teststrop('\xcc\x85', 'lower', '\xcc\x85')
-        teststrop('\xed\x95\xa0', 'upper', '\xed\x95\xa0')
-    finally:
-        locale.setlocale(locale.LC_CTYPE, oldlocale)
