diff --git a/Modules/_pickle.c b/Modules/_pickle.c
index c47a844..4eb74ff 100644
--- a/Modules/_pickle.c
+++ b/Modules/_pickle.c
@@ -1566,7 +1566,12 @@
         iter = PyObject_GetIter(obj);
         if (iter == NULL)
             goto error;
+        if (Py_EnterRecursiveCall(" while pickling an object")) {
+            Py_DECREF(iter);
+            goto error;
+        }
         status = batch_list(self, iter);
+        Py_LeaveRecursiveCall();
         Py_DECREF(iter);
     }
 
@@ -1814,10 +1819,10 @@
         if (PyDict_CheckExact(obj) && self->proto > 0) {
             /* We can take certain shortcuts if we know this is a dict and
                not a dict subclass. */
-            if (Py_EnterRecursiveCall(" while pickling an object") == 0) {
-                status = batch_dict_exact(self, obj);
-                Py_LeaveRecursiveCall();
-            }
+            if (Py_EnterRecursiveCall(" while pickling an object"))
+                goto error;
+            status = batch_dict_exact(self, obj);
+            Py_LeaveRecursiveCall();
         } else {
             items = PyObject_CallMethod(obj, "items", "()");
             if (items == NULL)
@@ -1826,7 +1831,12 @@
             Py_DECREF(items);
             if (iter == NULL)
                 goto error;
+            if (Py_EnterRecursiveCall(" while pickling an object")) {
+                Py_DECREF(iter);
+                goto error;
+            }
             status = batch_dict(self, iter);
+            Py_LeaveRecursiveCall();
             Py_DECREF(iter);
         }
     }
@@ -2353,7 +2363,7 @@
     PyObject *memo_key = NULL;
     int status = 0;
 
-    if (Py_EnterRecursiveCall(" while pickling an object") < 0)
+    if (Py_EnterRecursiveCall(" while pickling an object"))
         return -1;
 
     /* The extra pers_save argument is necessary to avoid calling save_pers()
