diff --git a/Lib/test/leakers/test_gen1.py b/Lib/test/leakers/test_gen1.py
new file mode 100644
index 0000000..72f644d
--- /dev/null
+++ b/Lib/test/leakers/test_gen1.py
@@ -0,0 +1,19 @@
+import gc
+
+# Taken from test_generators
+
+def f():
+    try:
+        yield
+    except GeneratorExit:
+        yield "foo!"
+
+def inner_leak():
+    g = f()
+    g.next()
+
+def leak():
+    inner_leak()
+    gc.collect()
+    gc.collect()
+    gc.collect()
diff --git a/Lib/test/leakers/test_generator_cycle.py b/Lib/test/leakers/test_generator_cycle.py
deleted file mode 100644
index b0aba43..0000000
--- a/Lib/test/leakers/test_generator_cycle.py
+++ /dev/null
@@ -1,10 +0,0 @@
-
-# This leaks since the introduction of yield-expr and the use of generators
-# as coroutines, trunk revision 39239. The cycle-GC doesn't seem to pick up
-# the cycle, or decides it can't clean it up.
-
-def leak():
-    def gen():
-        while True:
-            yield g
-    g = gen()
diff --git a/Lib/test/leakers/test_tee.py b/Lib/test/leakers/test_tee.py
deleted file mode 100644
index d2b945d..0000000
--- a/Lib/test/leakers/test_tee.py
+++ /dev/null
@@ -1,20 +0,0 @@
-
-# Test case taken from test_itertools
-# See http://mail.python.org/pipermail/python-dev/2005-November/058339.html
-# When this is fixed remember to remove from LEAKY_TESTS in Misc/build.sh.
-
-from itertools import tee
-
-def leak():
-    def fib():
-        def yield_identity_forever(g):
-            while 1:
-                yield g
-        def _fib():
-            for i in yield_identity_forever(head):
-                yield i
-        head, tail, result = tee(_fib(), 3)
-        return result
-
-    x = fib()
-    x.next()
