diff --git a/Lib/test/test_doctest.py b/Lib/test/test_doctest.py
index 5730a59..5307395 100644
--- a/Lib/test/test_doctest.py
+++ b/Lib/test/test_doctest.py
@@ -1898,7 +1898,7 @@
          ...                              'test_doctest2.txt',
          ...                              'test_doctest4.txt')
          >>> suite.run(unittest.TestResult())
-         <unittest.TestResult run=3 errors=0 failures=3>
+         <unittest.TestResult run=3 errors=0 failures=2>
 
        The test files are looked for in the directory containing the
        calling module.  A package keyword argument can be provided to
@@ -1910,7 +1910,7 @@
          ...                              'test_doctest4.txt',
          ...                              package='test')
          >>> suite.run(unittest.TestResult())
-         <unittest.TestResult run=3 errors=0 failures=3>
+         <unittest.TestResult run=3 errors=0 failures=2>
 
        '/' should be used as a path separator.  It will be converted
        to a native separator at run time:
@@ -1958,7 +1958,7 @@
          ...                              'test_doctest4.txt',
          ...                              globs={'favorite_color': 'blue'})
          >>> suite.run(unittest.TestResult())
-         <unittest.TestResult run=3 errors=0 failures=2>
+         <unittest.TestResult run=3 errors=0 failures=1>
 
        In this case, we supplied a missing favorite color. You can
        provide doctest options:
@@ -1969,7 +1969,7 @@
          ...                         optionflags=doctest.DONT_ACCEPT_BLANKLINE,
          ...                              globs={'favorite_color': 'blue'})
          >>> suite.run(unittest.TestResult())
-         <unittest.TestResult run=3 errors=0 failures=3>
+         <unittest.TestResult run=3 errors=0 failures=2>
 
        And, you can provide setUp and tearDown functions:
 
@@ -1990,7 +1990,7 @@
          ...                              'test_doctest4.txt',
          ...                              setUp=setUp, tearDown=tearDown)
          >>> suite.run(unittest.TestResult())
-         <unittest.TestResult run=3 errors=0 failures=2>
+         <unittest.TestResult run=3 errors=0 failures=1>
 
        But the tearDown restores sanity:
 
@@ -2245,26 +2245,26 @@
 it's unknown which encoding is used. The encoding can be specified
 using the optional keyword argument `encoding`:
 
-    >>> doctest.testfile('test_doctest4.txt') # doctest: +ELLIPSIS
+    >>> doctest.testfile('test_doctest4.txt', encoding='latin-1') # doctest: +ELLIPSIS
     **********************************************************************
     File "...", line 7, in test_doctest4.txt
     Failed example:
-        u'...'
+        '...'
     Expected:
-        u'f\xf6\xf6'
+        'f\xf6\xf6'
     Got:
-        u'f\xc3\xb6\xc3\xb6'
+        'f\xc3\xb6\xc3\xb6'
     **********************************************************************
     ...
     **********************************************************************
     1 items had failures:
-       2 of   4 in test_doctest4.txt
+       2 of   2 in test_doctest4.txt
     ***Test Failed*** 2 failures.
-    (2, 4)
+    (2, 2)
     >>> doctest.master = None  # Reset master.
 
     >>> doctest.testfile('test_doctest4.txt', encoding='utf-8')
-    (0, 4)
+    (0, 2)
     >>> doctest.master = None  # Reset master.
 """
 
diff --git a/Lib/test/test_doctest4.txt b/Lib/test/test_doctest4.txt
index a219d16..0428e6f 100644
--- a/Lib/test/test_doctest4.txt
+++ b/Lib/test/test_doctest4.txt
@@ -4,14 +4,8 @@
 In order to get this test to pass, we have to manually specify the
 encoding.
 
-  >>> u'föö'
-  u'f\xf6\xf6'
-
-  >>> u'bąr'
-  u'b\u0105r'
-
   >>> 'föö'
-  'f\xc3\xb6\xc3\xb6'
+  'f\xf6\xf6'
 
   >>> 'bąr'
-  'b\xc4\x85r'
+  'b\u0105r'
