diff --git a/Lib/test/test_capi.py b/Lib/test/test_capi.py
index 87be9ee..df5ce0b 100644
--- a/Lib/test/test_capi.py
+++ b/Lib/test/test_capi.py
@@ -2,7 +2,7 @@
 # these are all functions _testcapi exports whose name begins with 'test_'.
 
 import sys
-from test import test_support
+from test import support
 import _testcapi
 
 def test_main():
@@ -10,13 +10,13 @@
     for name in dir(_testcapi):
         if name.startswith('test_'):
             test = getattr(_testcapi, name)
-            if test_support.verbose:
+            if support.verbose:
                 print("internal", name)
             test()
 
     # some extra thread-state tests driven via _testcapi
     def TestThreadState():
-        if test_support.verbose:
+        if support.verbose:
             print("auto-thread-state")
 
         idents = []
@@ -29,7 +29,7 @@
         time.sleep(1)
         # Check our main thread is in the list exactly 3 times.
         if idents.count(thread.get_ident()) != 3:
-            raise test_support.TestFailed(
+            raise support.TestFailed(
                         "Couldn't find main thread correctly in the list")
 
     try:
