diff --git a/Modules/cPickle.c b/Modules/cPickle.c
index 6af4afd..a9bbd36 100644
--- a/Modules/cPickle.c
+++ b/Modules/cPickle.c
@@ -1654,7 +1654,6 @@
 				return -1;
 			if (self->write_func(self, &append, 1) < 0)
 				return -1;
-
 		}
 		return 0;
 	}
@@ -1693,7 +1692,7 @@
 		for (i = 0; i < n; ++i) {
 			Py_DECREF(slice[i]);
 		}
-	}while (n == BATCHSIZE);
+	} while (n == BATCHSIZE);
 	return 0;
 
 BatchFailed:
@@ -1734,13 +1733,12 @@
 
 	/* Memoize. */
 	if (len == 0) {
-		if (put(self, args) < 0)
-			goto finally;
+		if (put(self, args) >= 0)
+			res = 0;
+		goto finally;
 	}
-	else {
-		if (put2(self, args) < 0)
-			goto finally;
-	}
+	if (put2(self, args) < 0)
+		goto finally;
 
 	/* Materialize the list elements. */
 	iter = PyObject_GetIter(args);
@@ -1802,7 +1800,6 @@
 				return -1;
 			if (self->write_func(self, &setitem, 1) < 0)
 				return -1;
-
 		}
 		return 0;
 	}
@@ -1852,7 +1849,7 @@
 		for (i = 0; i < n; ++i) {
 			Py_DECREF(slice[i]);
 		}
-	}while (n == BATCHSIZE);
+	} while (n == BATCHSIZE);
 	return 0;
 
 BatchFailed:
@@ -1892,13 +1889,12 @@
 		goto finally;
 
 	if (len == 0) {
-		if (put(self, args) < 0)
-			goto finally;
+		if (put(self, args) >= 0)
+			res = 0;
+		goto finally;
 	}
-	else {
-		if (put2(self, args) < 0)
-			goto finally;
-	}
+	if (put2(self, args) < 0)
+		goto finally;
 
 	/* Materialize the dict items. */
 	iter = PyObject_CallMethod(args, "iteritems", "()");
