Index: /trunk/ccl/lisp-kernel/x86-exceptions.c
===================================================================
--- /trunk/ccl/lisp-kernel/x86-exceptions.c	(revision 6907)
+++ /trunk/ccl/lisp-kernel/x86-exceptions.c	(revision 6908)
@@ -1183,4 +1183,7 @@
           *p,
           q;
+        natural old_foreign_exception = tcr->flags & (1 << TCR_FLAG_BIT_FOREIGN_EXCEPTION);
+
+        tcr->flags &= ~(1 << TCR_FLAG_BIT_FOREIGN_EXCEPTION);
             
         if (next_tsp != save_tsp) {
@@ -1206,4 +1209,5 @@
           *next_tsp = q;
         }
+        tcr->flags |= old_foreign_exception;
         unlock_exception_lock_in_handler(tcr);
         exit_signal_handler(tcr, old_valence);
