diff --git a/Lib/test/test_pickle.py b/Lib/test/test_pickle.py
index d61f29b..24052b5 100644
--- a/Lib/test/test_pickle.py
+++ b/Lib/test/test_pickle.py
@@ -18,9 +18,9 @@
 
     error = KeyError
 
-    def dumps(self, arg, bin=0):
+    def dumps(self, arg, proto=0):
         f = StringIO()
-        p = pickle.Pickler(f, bin)
+        p = pickle.Pickler(f, proto)
         p.dump(arg)
         f.seek(0)
         return f.read()
@@ -32,12 +32,12 @@
 
 class PersPicklerTests(AbstractPersistentPicklerTests):
 
-    def dumps(self, arg, bin=0):
+    def dumps(self, arg, proto=0):
         class PersPickler(pickle.Pickler):
             def persistent_id(subself, obj):
                 return self.persistent_id(obj)
         f = StringIO()
-        p = PersPickler(f, bin)
+        p = PersPickler(f, proto)
         p.dump(arg)
         f.seek(0)
         return f.read()
