diff --git a/Python/bltinmodule.c b/Python/bltinmodule.c
index f47b408..b3ac3c6 100644
--- a/Python/bltinmodule.c
+++ b/Python/bltinmodule.c
@@ -186,21 +186,22 @@
 
 		if (func == None) {
 			good = item;
+			INCREF(good);
 		}
 		else {
 			object *arg = mkvalue("(O)", item);
-			DECREF(item);
 			if (arg == NULL)
 				goto Fail_1;
 			good = call_object(func, arg);
 			DECREF(arg);
-			if (good == NULL)
+			if (good == NULL) {
+				DECREF(item);
 				goto Fail_1;
+			}
 		}
 		ok = testbool(good);
 		DECREF(good);
 		if (ok) {
-			INCREF(item);
 			if (j < len) {
 				if (setlistitem(result, j++, item) < 0)
 					goto Fail_1;
@@ -210,6 +211,8 @@
 				if (addlistitem(result, item) < 0)
 					goto Fail_1;
 			}
+		} else {
+			DECREF(item);
 		}
 	}
 
