change in counting freed objects
diff --git a/Objects/object.c b/Objects/object.c
index fc8d525..d7110ae 100644
--- a/Objects/object.c
+++ b/Objects/object.c
@@ -61,7 +61,7 @@
 	typeobject *tp;
 {
 	if (tp->tp_alloc == 0) {
-		/* first time; hang in linked list */
+		/* first time; insert in linked list */
 		if (tp->tp_next != NULL) /* sanity check */
 			fatal("XXX inc_count sanity check");
 		tp->tp_next = type_list;
@@ -490,6 +490,9 @@
 	op->_ob_next->_ob_prev = op->_ob_prev;
 	op->_ob_prev->_ob_next = op->_ob_next;
 	op->_ob_next = op->_ob_prev = NULL;
+#ifdef COUNT_ALLOCS
+	op->ob_type->tp_free++;
+#endif
 }
 
 DELREF(op)
@@ -497,9 +500,6 @@
 {
 	destructor dealloc = op->ob_type->tp_dealloc;
 	UNREF(op);
-#ifdef COUNT_ALLOCS
-	op->ob_type->tp_free++;
-#endif
 	op->ob_type = NULL;
 	(*dealloc)(op);
 }