Index: /branches/ia32/lisp-kernel/x86-gc.c
===================================================================
--- /branches/ia32/lisp-kernel/x86-gc.c	(revision 9618)
+++ /branches/ia32/lisp-kernel/x86-gc.c	(revision 9619)
@@ -1097,5 +1097,9 @@
     } else {
       if (header_subtag(x1) == subtag_function) {
+#ifdef X8632
+	int skip = (unsigned short)deref(start,1);
+#else
         int skip = (int) deref(start,1);
+#endif
         start += ((1+skip)&~1);
         x1 = *start;
@@ -2445,4 +2449,9 @@
 #else
     forward_xp(xp, tcr->node_regs_mask);
+
+    update_noderef(&tcr->save0);
+    update_noderef(&tcr->save1);
+    update_noderef(&tcr->save2);
+    update_noderef(&tcr->save3);
 #endif
   }
