Index: /branches/purify/source/lisp-kernel/x86-exceptions.c
===================================================================
--- /branches/purify/source/lisp-kernel/x86-exceptions.c	(revision 13258)
+++ /branches/purify/source/lisp-kernel/x86-exceptions.c	(revision 13259)
@@ -222,5 +222,5 @@
 
   case GC_TRAP_FUNCTION_ENSURE_STATIC_CONSES:
-    allocate_static_conses(32768);
+    ensure_static_conses(xp, tcr, 32768);
     break;
 
@@ -266,12 +266,5 @@
       }
       if (selector & GC_TRAP_FUNCTION_PURIFY) {
-        /* There should be exactly one xp in the world (this one) if we're saving
-           an image, and we'll never return to it.  If we copy functions,
-           we'll have difficulty updating the PC in that xp and a subsequent
-           GC will be confused by that, so zero it here */       
-        if (selector & GC_TRAP_FUNCTION_SAVE_APPLICATION) {
-          xpPC(xp)=(LispObj)0;
-        }
-        purify_from_xp(xp, selector & GC_TRAP_FUNCTION_SAVE_APPLICATION);
+        purify_from_xp(xp, 1);
         gc_from_xp(xp, 0L);
       }
