diff --git a/Lib/test/test_unittest.py b/Lib/test/test_unittest.py
index b6100b1..9cdca96 100644
--- a/Lib/test/test_unittest.py
+++ b/Lib/test/test_unittest.py
@@ -17,6 +17,7 @@
 import types
 from copy import deepcopy
 import io
+import pickle
 
 ### Support code
 ################################################################
@@ -3441,6 +3442,17 @@
         expected = ['startTestRun', 'stopTestRun']
         self.assertEqual(events, expected)
 
+    def test_pickle_unpickle(self):
+        # Issue #7197: a TextTestRunner should be (un)pickleable. This is
+        # required by test_multiprocessing under Windows (in verbose mode).
+        stream = io.StringIO("foo")
+        runner = unittest.TextTestRunner(stream)
+        for protocol in range(2, pickle.HIGHEST_PROTOCOL + 1):
+            s = pickle.dumps(runner, protocol)
+            obj = pickle.loads(s)
+            # StringIO objects never compare equal, a cheap test instead.
+            self.assertEqual(obj.stream.getvalue(), stream.getvalue())
+
 
 class TestDiscovery(TestCase):
 
@@ -3729,7 +3741,7 @@
     support.run_unittest(Test_TestCase, Test_TestLoader,
         Test_TestSuite, Test_TestResult, Test_FunctionTestCase,
         Test_TestSkipping, Test_Assertions, TestLongMessage,
-        Test_TestProgram, TestCleanUp, TestDiscovery)
+        Test_TestProgram, TestCleanUp, TestDiscovery, Test_TextTestRunner)
 
 if __name__ == "__main__":
     test_main()
diff --git a/Lib/unittest/runner.py b/Lib/unittest/runner.py
index ea3c585..3ed9447 100644
--- a/Lib/unittest/runner.py
+++ b/Lib/unittest/runner.py
@@ -12,6 +12,8 @@
         self.stream = stream
 
     def __getattr__(self, attr):
+        if attr in ('stream', '__getstate__'):
+            raise AttributeError(attr)
         return getattr(self.stream,attr)
 
     def writeln(self, arg=None):
diff --git a/Misc/NEWS b/Misc/NEWS
index 978565a..cf62a99 100644
--- a/Misc/NEWS
+++ b/Misc/NEWS
@@ -123,6 +123,10 @@
 Library
 -------
 
+- Issue #7197: Allow unittest.TextTestRunner objects to be pickled and
+  unpickled. This fixes crashes under Windows when trying to run
+  test_multiprocessing in verbose mode.
+
 - Issue #3001: Add a C implementation of recursive locks which is used by
   default when instantiating a `threading.RLock` object. This makes 
   recursive locks as fast as regular non-recursive locks (previously,
