diff --git a/Doc/library/pprint.rst b/Doc/library/pprint.rst
index c0bedf5..7bcb3f1 100644
--- a/Doc/library/pprint.rst
+++ b/Doc/library/pprint.rst
@@ -56,7 +56,7 @@
       >>> stuff.insert(0, stuff[:])
       >>> pp = pprint.PrettyPrinter(indent=4)
       >>> pp.pprint(stuff)
-      [   [   'spam', 'eggs', 'lumberjack', 'knights', 'ni'],
+      [   ['spam', 'eggs', 'lumberjack', 'knights', 'ni'],
           'spam',
           'eggs',
           'lumberjack',
diff --git a/Lib/pprint.py b/Lib/pprint.py
index 93d850a..c48465b 100644
--- a/Lib/pprint.py
+++ b/Lib/pprint.py
@@ -194,7 +194,7 @@
             else:
                 write('(')
                 endchar = ')'
-            if self._indent_per_level > 1:
+            if self._indent_per_level > 1 and sepLines:
                 write((self._indent_per_level - 1) * ' ')
             if length:
                 context[objid] = 1
diff --git a/Lib/test/test_pprint.py b/Lib/test/test_pprint.py
index 4d7a3ed..439f605 100644
--- a/Lib/test/test_pprint.py
+++ b/Lib/test/test_pprint.py
@@ -170,6 +170,17 @@
         for type in [list, list2]:
             self.assertEqual(pprint.pformat(type(o), indent=4), exp)
 
+    def test_nested_indentations(self):
+        o1 = list(range(10))
+        o2 = dict(first=1, second=2, third=3)
+        o = [o1, o2]
+        expected = """\
+[   [0, 1, 2, 3, 4, 5, 6, 7, 8, 9],
+    {   'first': 1,
+        'second': 2,
+        'third': 3}]"""
+        self.assertEqual(pprint.pformat(o, indent=4, width=42), expected)
+
     def test_sorted_dict(self):
         # Starting in Python 2.5, pprint sorts dict displays by key regardless
         # of how small the dictionary may be.
diff --git a/Misc/NEWS b/Misc/NEWS
index 2825198..c5dfe73 100644
--- a/Misc/NEWS
+++ b/Misc/NEWS
@@ -108,6 +108,10 @@
 Library
 -------
 
+- Issue #2888: Fixed the behaviour of pprint when working with nested
+  structures, to match the behaviour of 2.5 and 3.0 (now follows the common
+  sense).
+
 - Issue #3136: fileConfig()'s disabling of old loggers is now conditional via
   an optional disable_existing_loggers parameter, but the default value is
   such that the old behaviour is preserved. Thanks to Leandro Lucarella for
