diff --git a/src/object.c b/src/object.c
index 6c24f45ed6f3d8ca13d26f16bc6af102552f884d..b194772b14b4c0c820cfadb419fd5e35c25e7a40 100644
--- a/src/object.c
+++ b/src/object.c
@@ -4,7 +4,7 @@
 ||| See the files COPYING and DISCLAIMER for more information.
 \*/
 #include "global.h"
-RCSID("$Id: object.c,v 1.27 1997/10/17 02:31:40 hubbe Exp $");
+RCSID("$Id: object.c,v 1.28 1997/10/29 11:23:25 hubbe Exp $");
 #include "object.h"
 #include "dynamic_buffer.h"
 #include "interpret.h"
@@ -256,6 +256,10 @@ void destruct_objects_to_destruct(void)
 
   while((o=objects_to_destruct))
   {
+#ifdef DEBUG
+    if(o->refs)
+      fatal("Object to be destructed grew extra references.\n");
+#endif
     /* Link object back to list of objects */
     objects_to_destruct=o->next;
     
@@ -648,6 +652,11 @@ void verify_all_objects(void)
       fp = frame.parent_frame;
     }
   }
+
+  for(o=objects_to_destruct;o;o=o->next)
+    if(o->refs)
+      fatal("Object to be destructed has references.\n");
+
 }
 #endif
 
@@ -832,6 +841,7 @@ void gc_mark_object_as_referenced(struct object *o)
 void gc_check_all_objects(void)
 {
   struct object *o;
+
   for(o=first_object;o;o=o->next)
   {
     if(o->prog)
@@ -845,9 +855,9 @@ void gc_check_all_objects(void)
 	for(d=0;d<in.prog->num_identifiers;d++)
 	{
 	  struct identifier *i=in.prog->identifiers+d;
-
+	  
 	  if(!IDENTIFIER_IS_VARIABLE(i->identifier_flags)) continue;
-	
+	  
 	  if(i->run_time_type == T_MIXED)
 	  {
 	    debug_gc_check_svalues((struct svalue *)(base+i->func.offset),1, T_OBJECT, o);