Index: /trunk/source/lisp-kernel/x86-exceptions.c
===================================================================
--- /trunk/source/lisp-kernel/x86-exceptions.c	(revision 8470)
+++ /trunk/source/lisp-kernel/x86-exceptions.c	(revision 8471)
@@ -638,4 +638,11 @@
       handler = protection_handlers[a->why];
       return handler(xp, a, addr);
+    } else {
+      if ((addr >= readonly_area->low) &&
+          (addr < readonly_area->active)) {
+        UnProtectMemory((LogicalAddress)(truncate_to_power_of_2(addr,log2_page_size)),
+                        page_size);
+        return true;
+      }
     }
   }
