diff --git a/Lib/pickle.py b/Lib/pickle.py
index 9919aa4..27f7eca 100644
--- a/Lib/pickle.py
+++ b/Lib/pickle.py
@@ -501,7 +501,8 @@
             else:
                 self.write(BINSTRING + pack("<i", n) + bytes(obj))
         else:
-            self.write(STRING + bytes(repr(obj)) + b'\n')
+            # Strip leading 's' due to repr() of str8() returning s'...'
+            self.write(STRING + bytes(repr(obj).lstrip("s")) + b'\n')
         self.memoize(obj)
     dispatch[str8] = save_string
 
diff --git a/Lib/test/test_popen.py b/Lib/test/test_popen.py
index 2457396..fba3f41 100644
--- a/Lib/test/test_popen.py
+++ b/Lib/test/test_popen.py
@@ -18,8 +18,10 @@
     python = '"' + python + '"'     # quote embedded space for cmdline
 
 class PopenTest(unittest.TestCase):
+
     def _do_test_commandline(self, cmdline, expected):
-        cmd = '%s -c "import sys; print(sys.argv)" %s' % (python, cmdline)
+        cmd = '%s -c "import sys; print(list(map(str, sys.argv)))" %s'
+        cmd = cmd % (python, cmdline)
         data = os.popen(cmd).read()
         got = eval(data)[1:] # strip off argv[0]
         self.assertEqual(got, expected)
diff --git a/Modules/cPickle.c b/Modules/cPickle.c
index f0b3c8a..0085560 100644
--- a/Modules/cPickle.c
+++ b/Modules/cPickle.c
@@ -1085,6 +1085,10 @@
 			goto err;
 		repr_str = PyString_AS_STRING((PyStringObject *)repr);
 
+                /* Strip leading 's' due to repr() of str8() returning s'...' */
+                if (repr_str[0] == 's')
+			repr_str++;
+
 		if (self->write_func(self, &string, 1) < 0)
 			goto err;
 
