diff --git a/Lib/pickle.py b/Lib/pickle.py
index 954da4e..a8b2b51 100644
--- a/Lib/pickle.py
+++ b/Lib/pickle.py
@@ -188,14 +188,13 @@
 
         return GET + `i` + '\n'
 
-    def save(self, object, pers_save = 0):
+    def save(self, object):
         memo = self.memo
 
-        if not pers_save:
-            pid = self.persistent_id(object)
-            if pid is not None:
-                self.save_pers(pid)
-                return
+        pid = self.persistent_id(object)
+        if pid is not None:
+            self.save_pers(pid)
+            return
 
         d = id(object)
 
@@ -215,11 +214,6 @@
         try:
             f = self.dispatch[t]
         except KeyError:
-            pid = self.inst_persistent_id(object)
-            if pid is not None:
-                self.save_pers(pid)
-                return
-
             try:
                 issc = issubclass(t, TypeType)
             except TypeError: # t is not a class
@@ -279,14 +273,11 @@
     def persistent_id(self, object):
         return None
 
-    def inst_persistent_id(self, object):
-        return None
-
     def save_pers(self, pid):
         if not self.bin:
             self.write(PERSID + str(pid) + '\n')
         else:
-            self.save(pid, 1)
+            self.save(pid)
             self.write(BINPERSID)
 
     def save_reduce(self, callable, arg_tup, state = None):
