Index: /trunk/ccl/lisp-kernel/x86-exceptions.c
===================================================================
--- /trunk/ccl/lisp-kernel/x86-exceptions.c	(revision 5964)
+++ /trunk/ccl/lisp-kernel/x86-exceptions.c	(revision 5965)
@@ -441,5 +441,6 @@
 {
   LispObj save_rbp = xpGPR(xp,Irbp),
-    save_vsp = xpGPR(xp,Isp),
+    *save_vsp = (LispObj *)xpGPR(xp,Isp),
+    word_beyond_vsp = save_vsp[-1],
     xcf = create_exception_callback_frame(xp);
   int save_errno = errno;
@@ -447,5 +448,6 @@
   callback_to_lisp(tcr, nrs_CMAIN.vcell,xp, xcf, 0, 0, 0, 0);
   xpGPR(xp,Irbp) = save_rbp;
-  xpGPR(xp,Isp) = save_vsp;
+  xpGPR(xp,Isp) = (LispObj)save_vsp;
+  save_vsp[-1] = word_beyond_vsp;
   errno = save_errno;
 }
