diff --git a/Lib/test/test_unittest.py b/Lib/test/test_unittest.py
index 950b2ca..ecf3162 100644
--- a/Lib/test/test_unittest.py
+++ b/Lib/test/test_unittest.py
@@ -3325,6 +3325,14 @@
         self.assertEqual(program.verbosity, 2)
 
 
+    def testTestProgram_testRunnerArgument(self):
+        program = object.__new__(TestProgram)
+        program.parseArgs = lambda _: None
+        program.runTests = lambda: None
+        program.__init__(testRunner=None)
+        self.assertEqual(program.testRunner, unittest.TextTestRunner)
+
+
     class FooBar(unittest.TestCase):
         def testPass(self):
             assert True
diff --git a/Lib/unittest.py b/Lib/unittest.py
index c8943e7..bf7baa1 100644
--- a/Lib/unittest.py
+++ b/Lib/unittest.py
@@ -1640,9 +1640,11 @@
     """
     USAGE = USAGE
     def __init__(self, module='__main__', defaultTest=None,
-                 argv=None, testRunner=TextTestRunner,
+                 argv=None, testRunner=None,
                  testLoader=defaultTestLoader, exit=True,
                  verbosity=1):
+        if testRunner is None:
+            testRunner = TextTestRunner
         if isinstance(module, basestring):
             self.module = __import__(module)
             for part in module.split('.')[1:]:
