diff --git a/BROKEN b/BROKEN
index 82820cd..4615d6d 100644
--- a/BROKEN
+++ b/BROKEN
@@ -1,4 +1,3 @@
     test_bsddb test_bsddb3 test_compile test_dumbdbm
     test_importhooks test_iter test_iterlen test_minidom test_mutants
-    test_os test_pickletools test_plistlib test_richcmp test_shelve
-    test_unittest test_userdict
+    test_os test_plistlib
diff --git a/Lib/UserDict.py b/Lib/UserDict.py
index 7570cef..91508d8 100644
--- a/Lib/UserDict.py
+++ b/Lib/UserDict.py
@@ -117,7 +117,7 @@
     def items(self):
         return list(self.iteritems())
     def clear(self):
-        for key in self.keys():
+        for key in list(self.iterkeys()):
             del self[key]
     def setdefault(self, key, default=None):
         try:
diff --git a/Lib/test/test_richcmp.py b/Lib/test/test_richcmp.py
index 72a6de8..99ddc30 100644
--- a/Lib/test/test_richcmp.py
+++ b/Lib/test/test_richcmp.py
@@ -265,7 +265,7 @@
         imag1a = {}
         for i in range(50):
             imag1a[random.randrange(100)*1j] = random.randrange(100)*1j
-        items = imag1a.items()
+        items = list(imag1a.items())
         random.shuffle(items)
         imag1b = {}
         for k, v in items:
