diff --git a/Lib/test/outstanding_bugs.py b/Lib/test/outstanding_bugs.py
index 7c6cd9e..04afcbd 100644
--- a/Lib/test/outstanding_bugs.py
+++ b/Lib/test/outstanding_bugs.py
@@ -10,44 +10,13 @@
 from test import test_support
 
 #
-# One test case for outstanding bugs at the moment:
+# No test cases for outstanding bugs at the moment.
 #
 
-class TestDifflibLongestMatch(unittest.TestCase):
-    # From Patch #1678339:
-    # The find_longest_match method in the difflib's SequenceMatcher has a bug.
-
-    # The bug is in turn caused by a problem with creating a b2j mapping which
-    # should contain a list of indices for each of the list elements in b.
-    # However, when the b2j mapping is being created (this is being done in
-    # __chain_b method in the SequenceMatcher) the mapping becomes broken. The
-    # cause of this is that for the frequently used elements the list of indices
-    # is removed and the element is being enlisted in the populardict mapping.
-
-    # The test case tries to match two strings like:
-    # abbbbbb.... and ...bbbbbbc
-
-    # The number of b is equal and the find_longest_match should have returned
-    # the proper amount. However, in case the number of "b"s is large enough, the
-    # method reports that the length of the longest common substring is 0. It
-    # simply can't find it.
-
-    # A bug was raised some time ago on this matter. It's ID is 1528074.
-
-    def test_find_longest_match(self):
-        import difflib
-        for i in (190, 200, 210):
-            text1 = "a" + "b"*i
-            text2 = "b"*i + "c"
-            m = difflib.SequenceMatcher(None, text1, text2)
-            (aptr, bptr, l) = m.find_longest_match(0, len(text1), 0, len(text2))
-            self.assertEquals(i, l)
-            self.assertEquals(aptr, 1)
-            self.assertEquals(bptr, 0)
-
 
 def test_main():
-    test_support.run_unittest(TestDifflibLongestMatch)
+    #test_support.run_unittest()
+    pass
 
 if __name__ == "__main__":
     test_main()
