Merge
diff --git a/Lib/unittest/main.py b/Lib/unittest/main.py
index 061916c..ead6493 100644
--- a/Lib/unittest/main.py
+++ b/Lib/unittest/main.py
@@ -222,7 +222,7 @@
 
     def _do_discovery(self, argv, Loader=None):
         if Loader is None:
-            Loader = self.testLoader
+            Loader = lambda: self.testLoader
 
         # handle command line args for test discovery
         self.progName = '%s discover' % self.progName
diff --git a/Lib/unittest/test/test_discovery.py b/Lib/unittest/test/test_discovery.py
index eba269f..1fdf991 100644
--- a/Lib/unittest/test/test_discovery.py
+++ b/Lib/unittest/test/test_discovery.py
@@ -269,7 +269,7 @@
                 self.args.append((start_dir, pattern, top_level_dir))
                 return 'tests'
 
-        program.testLoader = Loader
+        program.testLoader = Loader()
         program._do_discovery(['-v'])
         self.assertEqual(Loader.args, [('.', 'test*.py', None)])
 
diff --git a/Misc/NEWS b/Misc/NEWS
index 0534ef1..5b90097 100644
--- a/Misc/NEWS
+++ b/Misc/NEWS
@@ -175,7 +175,7 @@
 Library
 -------
 
-- Issue #17502: unittest discovery should use self.testLoader.
+- Issue #17052: unittest discovery should use self.testLoader.
 
 - Issue #4591: Uid and gid values larger than 2**31 are supported now.