diff -ruN klic-3.003-2002-02-26a/runtime/bb.c klic-3.003-2002-02-26b/runtime/bb.c
--- klic-3.003-2002-02-26a/runtime/bb.c	Tue Feb 26 13:21:08 2002
+++ klic-3.003-2002-02-26b/runtime/bb.c	Tue Feb 26 13:53:51 2002
@@ -21,10 +21,8 @@
 {							\
   extern struct predicate pred;				\
   q z;							\
- deref_x:						\
   if (isint(x)) {					\
   x_ok:							\
-  deref_y:						\
     if (isint(y)) {					\
     ok:							\
       macro_body(x, y, z);				\
@@ -32,6 +30,7 @@
     } else if (isref(y)) {				\
       q yy;						\
       yy = derefone(y);					\
+    deref_y: \
       if (isint(yy)) {					\
 	y = yy;						\
 	goto ok;					\
@@ -44,6 +43,7 @@
 	    goto suspend_y;				\
 	  } else {					\
 	    y = yy;					\
+            yy = yyy; \
 	    goto deref_y;				\
 	  }						\
 	}						\
@@ -52,6 +52,7 @@
   } else if (isref(x)) {				\
     q xx;						\
     xx = derefone(x);					\
+  deref_x: \
     if (isint(xx)) {					\
       x = xx;						\
       goto x_ok;					\
@@ -64,6 +65,7 @@
 	  goto suspend_x;				\
 	} else {					\
 	  x = xx;					\
+          xx = xxx; \
 	  goto deref_x;					\
 	}						\
       }							\
@@ -80,7 +82,6 @@
 {							\
   extern struct predicate pred;				\
   q z;							\
- deref_x:						\
   if (isint(x)) {					\
   ok:							\
     macro_body(x, z);					\
@@ -88,6 +89,7 @@
   } else if (isref(x)) {				\
     q xx;						\
     xx = derefone(x);					\
+  deref_x: \
     if (isint(xx)) {					\
       x = xx;						\
       goto ok;						\
@@ -100,6 +102,7 @@
 	  goto suspend_x;				\
 	} else {					\
 	  x = xx;					\
+          xx = xxx; \
 	  goto deref_x;					\
 	}						\
       }							\
@@ -226,16 +229,17 @@
   extern struct predicate
     predicate_floating__arithmetics_xfloating__point__to__integer_2;
   q z;
- deref_x:
   if (isref(x)) {
     q xx;
     xx = derefone(x);
+  deref_x:
     if (isref(xx)) {
       q xxx = derefone(xx);
       if (xxx == x) {
 	goto suspend_x;
       } else {
 	x = xx;
+	xx = xxx;
 	goto deref_x;
       }
     } else {
diff -ruN klic-3.003-2002-02-26a/runtime/cmphsh.c klic-3.003-2002-02-26b/runtime/cmphsh.c
--- klic-3.003-2002-02-26a/runtime/cmphsh.c	Sat Dec 29 12:46:20 2001
+++ klic-3.003-2002-02-26b/runtime/cmphsh.c	Tue Feb 26 14:00:01 2002
@@ -33,7 +33,6 @@
      q x;
      long l;
 {
- again:
   deref_and_switch(x, susp, atomic, cons, funct);
  atomic:
   if (isint(x)) return x;
diff -ruN klic-3.003-2002-02-26a/runtime/cntlmsg.c klic-3.003-2002-02-26b/runtime/cntlmsg.c
--- klic-3.003-2002-02-26a/runtime/cntlmsg.c	Mon Feb 25 15:55:20 2002
+++ klic-3.003-2002-02-26b/runtime/cntlmsg.c	Tue Feb 26 14:27:22 2002
@@ -55,6 +55,8 @@
 
   */
 
+extern jmp_buf klic_topmost;
+
 extern q search_exptbl();
 extern q reply_hook_g_new();
 extern void encode_data();
@@ -62,7 +64,6 @@
 extern void send_message_without_wtc_chk();
 extern void terminate_profiling();
 extern q pop_decode_stack();
-extern struct generator_object_method_table* get_exref_methtab();
 
 static int transfer_read();
 
@@ -220,10 +221,6 @@
 	      INT_CL_DEBUG_X(ioprintf("Node:%d exref read transfer\n", my_node));
 	      if(transfer_read(trans_cnt,recved_wtc,node,index,wec,dummy_obj))
 		return(allocp);
-#if 0
-	    } else {
-		fatal("Decode read invalid generator");
-#endif
 	    }
 	}
     }
@@ -672,17 +669,9 @@
   q* allocp;
 {
   declare_globals;
-  extern jmp_buf klic_topmost;
   if (network_statistics_flag)
     print_statistics();
   longjmp(klic_topmost, 1);
-#if 0
-  CloseIO();
-  Close_net();
-				/* usually all reduction nodes finish their
-				   task here. */
-  exit(0);
-#endif
 }
 
 static void
diff -ruN klic-3.003-2002-02-26a/runtime/config/pvm/distproc.h klic-3.003-2002-02-26b/runtime/config/pvm/distproc.h
--- klic-3.003-2002-02-26a/runtime/config/pvm/distproc.h	Sun Jan 13 16:21:06 2002
+++ klic-3.003-2002-02-26b/runtime/config/pvm/distproc.h	Tue Feb 26 14:23:04 2002
@@ -118,6 +118,4 @@
 #define Tid_of(X)	(tid_table.child[X])
 #define Tid_of_io()	(tid_table.io)
 
-#define Close_net()	close_network()
-
 #define Node_type()     ( io_node_flag == 0 )
diff -ruN klic-3.003-2002-02-26a/runtime/config/pvm-tcp/distpkt.c klic-3.003-2002-02-26b/runtime/config/pvm-tcp/distpkt.c
--- klic-3.003-2002-02-26a/runtime/config/pvm-tcp/distpkt.c	Tue Feb 26 10:45:53 2002
+++ klic-3.003-2002-02-26b/runtime/config/pvm-tcp/distpkt.c	Tue Feb 26 14:04:24 2002
@@ -39,7 +39,6 @@
 extern void set_simple_interval_timer_handler();
 int receive_message();
 int add_signal_handler();
-void init_sigio_handler();
 
 #define SYNCID_CONN 0x3141
 #define SYNCID_CONN2 0x5926
diff -ruN klic-3.003-2002-02-26a/runtime/config/shm/distproc.h klic-3.003-2002-02-26b/runtime/config/shm/distproc.h
--- klic-3.003-2002-02-26a/runtime/config/shm/distproc.h	Thu Dec 27 19:15:57 2001
+++ klic-3.003-2002-02-26b/runtime/config/shm/distproc.h	Tue Feb 26 14:23:10 2002
@@ -85,8 +85,6 @@
 #define Tid_of(X)	(tid_table.child[X])
 #define Tid_of_io()	(tid_table.io)
 
-#define Close_net()	close_network()
-
 Extern int io_node_flag;
 
 #define Node_type()     ( io_node_flag == 0 )
diff -ruN klic-3.003-2002-02-26a/runtime/debug.c klic-3.003-2002-02-26b/runtime/debug.c
--- klic-3.003-2002-02-26a/runtime/debug.c	Mon Feb 25 17:21:58 2002
+++ klic-3.003-2002-02-26b/runtime/debug.c	Tue Feb 26 14:24:08 2002
@@ -72,7 +72,7 @@
     longjmp(klic_topmost, 1);
   }
 #ifdef DIST
-  Close_net();
+  close_network();
 #endif
 #ifdef SHM
   abend("");
diff -ruN klic-3.003-2002-02-26a/runtime/ge_exref.c klic-3.003-2002-02-26b/runtime/ge_exref.c
--- klic-3.003-2002-02-26a/runtime/ge_exref.c	Mon Feb 25 11:00:18 2002
+++ klic-3.003-2002-02-26b/runtime/ge_exref.c	Tue Feb 26 14:11:34 2002
@@ -34,7 +34,6 @@
 
 extern q read_hook_g_new();
 extern q* decode_exref();
-extern struct generator_object_method_table* get_exref_methtab(void);
 
 GGDEF_GENERATE()
 {
diff -ruN klic-3.003-2002-02-26a/runtime/ge_exref.h klic-3.003-2002-02-26b/runtime/ge_exref.h
--- klic-3.003-2002-02-26a/runtime/ge_exref.h	Fri Dec 28 13:46:47 2001
+++ klic-3.003-2002-02-26b/runtime/ge_exref.h	Tue Feb 26 14:12:06 2002
@@ -8,6 +8,8 @@
 #ifndef _KLIC_GE_EXREF_H_
 #define _KLIC_GE_EXREF_H_
 
+#include <klic/g_methtab.h>  /* generator_object_method_table */
+
 struct exref_object{
   struct generator_object_method_table* method_table;
   long node;
@@ -16,5 +18,7 @@
   q    to_exref;
   long gc_flag;
 };
+
+extern struct generator_object_method_table* get_exref_methtab(void);
 
 #endif /* _KLIC_GE_EXREF_H_ */
diff -ruN klic-3.003-2002-02-26a/runtime/kmain.c klic-3.003-2002-02-26b/runtime/kmain.c
--- klic-3.003-2002-02-26a/runtime/kmain.c	Tue Feb 26 12:36:06 2002
+++ klic-3.003-2002-02-26b/runtime/kmain.c	Tue Feb 26 14:27:25 2002
@@ -402,7 +402,7 @@
 #ifdef DIST
       DetachIO();
       CloseIO();
-      Close_net();
+      close_network();
       break;
 #else /*!DIST*/
       if (postmortem_pred() == NULL || postmortem_args() == NULL) break;
@@ -482,7 +482,7 @@
 	  }
 	  terminate_all_node();
 	  CloseIO();
-	  Close_net();
+	  close_network();
 	  exit(0);
       }
   } else {			/* if normal node */
