Index: /trunk/src/kmk/main.c
===================================================================
--- /trunk/src/kmk/main.c	(revision 2759)
+++ /trunk/src/kmk/main.c	(revision 2760)
@@ -1165,4 +1165,5 @@
     CONTEXT Ctx;
 
+    /*fprintf(stderr, "dbg: ctrl_event sig=%d\n", sig);*/
 #ifndef _M_IX86
     /* only once. */
@@ -1197,7 +1198,8 @@
 #else
         g_Ctx = Ctx;
-        Ctx.Rsp -= 0x20;
+        Ctx.Rsp -= 0x80;
         Ctx.Rsp &= ~(uintptr_t)0xf;
-        Ctx.Rip = (uintptr_t)&dispatch_stub;
+        Ctx.Rsp += 8;   /* (Stack aligned before call instruction, not after.) */
+        Ctx.Rip  = (uintptr_t)&dispatch_stub;
 #endif
 
