diff --git a/Lib/test/libregrtest/runtest.py b/Lib/test/libregrtest/runtest.py
index daff476..601f2b2 100644
--- a/Lib/test/libregrtest/runtest.py
+++ b/Lib/test/libregrtest/runtest.py
@@ -116,7 +116,7 @@
             try:
                 sys.stdout = stream
                 sys.stderr = stream
-                result = runtest_inner(test, verbose, quiet, huntrleaks,
+                result = runtest_inner(ns, test, verbose, quiet, huntrleaks,
                                        display_failure=False, pgo=pgo)
                 if result[0] == FAILED:
                     output = stream.getvalue()
@@ -127,7 +127,7 @@
                 sys.stderr = orig_stderr
         else:
             support.verbose = verbose  # Tell tests to be moderately quiet
-            result = runtest_inner(test, verbose, quiet, huntrleaks,
+            result = runtest_inner(ns, test, verbose, quiet, huntrleaks,
                                    display_failure=not verbose, pgo=pgo)
         return result
     finally:
@@ -137,14 +137,14 @@
 runtest.stringio = None
 
 
-def runtest_inner(test, verbose, quiet,
+def runtest_inner(ns, test, verbose, quiet,
                   huntrleaks=False, display_failure=True, *, pgo=False):
     support.unload(test)
 
     test_time = 0.0
     refleak = False  # True if the test leaked references.
     try:
-        if test.startswith('test.'):
+        if test.startswith('test.') or ns.testdir:
             abstest = test
         else:
             # Always import it from the test package
diff --git a/Lib/test/libregrtest/setup.py b/Lib/test/libregrtest/setup.py
index de52bb5..1d24531 100644
--- a/Lib/test/libregrtest/setup.py
+++ b/Lib/test/libregrtest/setup.py
@@ -29,6 +29,11 @@
     replace_stdout()
     support.record_original_stdout(sys.stdout)
 
+    if ns.testdir:
+        # Prepend test directory to sys.path, so runtest() will be able
+        # to locate tests
+        sys.path.insert(0, os.path.abspath(ns.testdir))
+
     # Some times __path__ and __file__ are not absolute (e.g. while running from
     # Lib/) and, if we change the CWD to run the tests in a temporary dir, some
     # imports might fail.  This affects only the modules imported before os.chdir().
