diff --git a/Lib/test/test_imp.py b/Lib/test/test_imp.py
index f4a1649..1e62940 100644
--- a/Lib/test/test_imp.py
+++ b/Lib/test/test_imp.py
@@ -43,16 +43,19 @@
     reload()."""
 
     def test_source(self):
-        import os
-        imp.reload(os)
+        with test_support.CleanImport('os'):
+            import os
+            imp.reload(os)
 
     def test_extension(self):
-        import time
-        imp.reload(time)
+        with test_support.CleanImport('time'):
+            import time
+            imp.reload(time)
 
     def test_builtin(self):
-        import marshal
-        imp.reload(marshal)
+        with test_support.CleanImport('marshal'):
+            import marshal
+            imp.reload(marshal)
 
 
 def test_main():
diff --git a/Lib/test/test_import.py b/Lib/test/test_import.py
index 80ac60d..4e0a686 100644
--- a/Lib/test/test_import.py
+++ b/Lib/test/test_import.py
@@ -8,7 +8,7 @@
 import warnings
 import marshal
 from test.test_support import (unlink, TESTFN, unload, run_unittest,
-    check_warnings, TestFailed)
+    check_warnings, TestFailed, CleanImport)
 
 
 def remove_files(name):
@@ -122,8 +122,9 @@
     def testImpModule(self):
         # Verify that the imp module can correctly load and find .py files
         import imp
-        x = imp.find_module("os")
-        os = imp.load_module("os", *x)
+        with CleanImport("os"):
+            x = imp.find_module("os")
+            os = imp.load_module("os", *x)
 
     def test_module_with_large_stack(self, module='longlist'):
         # create module w/list of 65000 elements to test bug #561858
@@ -361,7 +362,7 @@
 
     def tearDown(self):
         shutil.rmtree(self.path)
-        sys.path = self.syspath
+        sys.path[:] = self.syspath
 
     # http://bugs.python.org/issue1293
     def test_trailing_slash(self):
