diff --git a/Lib/unittest/main.py b/Lib/unittest/main.py
index a25a2f8..061916c 100644
--- a/Lib/unittest/main.py
+++ b/Lib/unittest/main.py
@@ -175,6 +175,7 @@
                                                            self.module)
 
     def _getOptParser(self):
+        import optparse
         parser = optparse.OptionParser()
         parser.prog = self.progName
         parser.add_option('-v', '--verbose', dest='verbose', default=False,
@@ -219,7 +220,10 @@
         parser.add_option('-t', '--top-level-directory', dest='top', default=None,
                           help='Top level directory of project (defaults to start directory)')
 
-    def _do_discovery(self, argv, Loader=loader.TestLoader):
+    def _do_discovery(self, argv, Loader=None):
+        if Loader is None:
+            Loader = self.testLoader
+
         # handle command line args for test discovery
         self.progName = '%s discover' % self.progName
         parser = self._getOptParser()
diff --git a/Lib/unittest/test/test_discovery.py b/Lib/unittest/test/test_discovery.py
index e688f8e..eba269f 100644
--- a/Lib/unittest/test/test_discovery.py
+++ b/Lib/unittest/test/test_discovery.py
@@ -253,12 +253,26 @@
 
         program = TestableTestProgram()
         program.usageExit = usageExit
+        program.testLoader = None
 
         with self.assertRaises(Stop):
             # too many args
             program._do_discovery(['one', 'two', 'three', 'four'])
 
 
+    def test_command_line_handling_do_discovery_uses_default_loader(self):
+        program = object.__new__(unittest.TestProgram)
+
+        class Loader(object):
+            args = []
+            def discover(self, start_dir, pattern, top_level_dir):
+                self.args.append((start_dir, pattern, top_level_dir))
+                return 'tests'
+
+        program.testLoader = Loader
+        program._do_discovery(['-v'])
+        self.assertEqual(Loader.args, [('.', 'test*.py', None)])
+
     def test_command_line_handling_do_discovery_calls_loader(self):
         program = TestableTestProgram()
 
diff --git a/Misc/NEWS b/Misc/NEWS
index a56a1b3..0534ef1 100644
--- a/Misc/NEWS
+++ b/Misc/NEWS
@@ -175,6 +175,8 @@
 Library
 -------
 
+- Issue #17502: unittest discovery should use self.testLoader.
+
 - Issue #4591: Uid and gid values larger than 2**31 are supported now.
 
 - Issue #17141: random.vonmisesvariate() no more hangs for large kappas.
