Make test_runpy re-entrant.
diff --git a/Lib/test/test_runpy.py b/Lib/test/test_runpy.py
index 3a5a709..7076df7 100644
--- a/Lib/test/test_runpy.py
+++ b/Lib/test/test_runpy.py
@@ -4,7 +4,7 @@
 import os.path
 import sys
 import tempfile
-from test.test_support import verbose, run_unittest
+from test.test_support import verbose, run_unittest, forget
 from runpy import _run_module_code, run_module
 
 # Set up the test code and expected results
@@ -156,6 +156,7 @@
     def _check_module(self, depth):
         pkg_dir, mod_fname, mod_name = (
                self._make_pkg("x=1\n", depth))
+        forget(mod_name)
         try:
             if verbose: print "Running from source:", mod_name
             d1 = run_module(mod_name) # Read from source
diff --git a/Misc/NEWS b/Misc/NEWS
index a04b2bf..228256e 100644
--- a/Misc/NEWS
+++ b/Misc/NEWS
@@ -832,6 +832,10 @@
 Tests
 -----
 
+- Make test_runpy reentrant by fixing _check_module to clear out any module
+  being tested.  Was causing an error by __import__ doing a reload on the
+  second run and thus suppressing bytecode recreation.
+
 - Capture socket connection resets and timeouts in test_socket_ssl and
   test_urllib2net and raise test.test_support.ResourceDenied.