diff --git a/Objects/intobject.c b/Objects/intobject.c
index 0bf1fc5..7293515 100644
--- a/Objects/intobject.c
+++ b/Objects/intobject.c
@@ -831,11 +831,13 @@
 	isum = 0;
 	list = block_list;
 	block_list = NULL;
+	free_list = NULL;
 	while (list != NULL) {
-		p = &list->objects[0];
 		bc++;
 		irem = 0;
-		for (i = 0; i < N_INTOBJECTS; i++, p++) {
+		for (i = 0, p = &list->objects[0];
+		     i < N_INTOBJECTS;
+		     i++, p++) {
 			if (PyInt_Check(p) && p->ob_refcnt != 0)
 				irem++;
 		}
@@ -843,6 +845,25 @@
 		if (irem) {
 			list->next = block_list;
 			block_list = list;
+			for (i = 0, p = &list->objects[0];
+			     i < N_INTOBJECTS;
+			     i++, p++) {
+				if (!PyInt_Check(p) || p->ob_refcnt == 0) {
+					p->ob_type = (struct _typeobject *)
+						free_list;
+					free_list = p;
+				}
+#if NSMALLNEGINTS + NSMALLPOSINTS > 0
+				else if (-NSMALLNEGINTS <= p->ob_ival &&
+					 p->ob_ival < NSMALLPOSINTS &&
+					 small_ints[p->ob_ival +
+						    NSMALLNEGINTS] == NULL) {
+					Py_INCREF(p);
+					small_ints[p->ob_ival +
+						   NSMALLNEGINTS] = p;
+				}
+#endif
+			}
 		}
 		else {
 			PyMem_FREE(list);
@@ -866,11 +887,12 @@
 	if (Py_VerboseFlag > 1) {
 		list = block_list;
 		while (list != NULL) {
-			p = &list->objects[0];
-			for (i = 0; i < N_INTOBJECTS; i++, p++) {
+			for (i = 0, p = &list->objects[0];
+			     i < N_INTOBJECTS;
+			     i++, p++) {
 				if (PyInt_Check(p) && p->ob_refcnt != 0)
 					fprintf(stderr,
-				"#   <int object at %lx, refcnt=%d, val=%ld>\n",
+				"#   <int at %lx, refcnt=%d, val=%ld>\n",
 						p, p->ob_refcnt, p->ob_ival);
 			}
 			list = list->next;
