Index: /trunk/ccl/lisp-kernel/x86-exceptions.c
===================================================================
--- /trunk/ccl/lisp-kernel/x86-exceptions.c	(revision 7805)
+++ /trunk/ccl/lisp-kernel/x86-exceptions.c	(revision 7806)
@@ -1217,4 +1217,14 @@
         natural old_foreign_exception = tcr->flags & (1 << TCR_FLAG_BIT_FOREIGN_EXCEPTION);
 
+        {
+          BytePtr interrupted_sp = (BytePtr)xpGPR(context, Isp);
+          area *vs_area = tcr->vs_area;
+
+          if ((interrupted_sp < vs_area->low) ||
+              (interrupted_sp > vs_area->high)) {
+            Bug(context, "lisp stack pointer not in lisp stack");
+          }
+        }
+          
         tcr->flags &= ~(1 << TCR_FLAG_BIT_FOREIGN_EXCEPTION);
             
