Removed redundant prototype for err_nomem().
Added check for negative refcnt in DELREF.
diff --git a/Objects/object.c b/Objects/object.c
index 9f5b6c1..ebeb0f8 100644
--- a/Objects/object.c
+++ b/Objects/object.c
@@ -8,8 +8,6 @@
 #include "objimpl.h"
 #include "errors.h"
 
-extern object *err_nomem PROTO((void)); /* XXX from modsupport.c */
-
 int StopPrint; /* Flag to indicate printing must be stopped */
 
 /* Object allocation routines used by NEWOBJ and NEWVAROBJ macros */
@@ -175,6 +173,10 @@
 DELREF(op)
 	object *op;
 {
+	if (op->ob_refcnt < 0) {
+		fprintf(stderr, "negative refcnt\n");
+		abort();
+	}
 	op->_ob_next->_ob_prev = op->_ob_prev;
 	op->_ob_prev->_ob_next = op->_ob_next;
 	(*(op)->ob_type->tp_dealloc)(op);