diff --git a/Mac/Python/macglue.c b/Mac/Python/macglue.c
index 5d7c2c7..033e02e 100644
--- a/Mac/Python/macglue.c
+++ b/Mac/Python/macglue.c
@@ -160,6 +160,11 @@
 int PyMac_ConsoleIsDead;
 
 /*
+** Sioux menu bar, saved early so we can restore it
+*/
+static Handle sioux_mbar;
+
+/*
 ** Some stuff for our GetDirectory and PromptGetFile routines
 */
 struct hook_args {
@@ -415,8 +420,6 @@
 	}
 }
 
-#define TICKCOUNT 6
-
 int
 PyOS_InterruptOccurred()
 {
@@ -426,6 +429,7 @@
 			schedparams.next_check = (unsigned long)LMGetTicks()
 					 + schedparams.check_interval;
 			if (interrupted) {
+				scan_event_queue(1);	/* Eat events up to cmd-. */
 				interrupted = 0;
 				return 1;
 			}
@@ -434,23 +438,6 @@
 	return 0;
 }
 
-#if 0
-
-/* intrpeek() is like intrcheck(), but it doesn't flush the events. The
-** idea is that you call intrpeek() somewhere in a busy-wait loop, and return
-** None as soon as it returns 1. The mainloop will then pick up the cmd-. soon
-** thereafter.
-*/
-static int
-intrpeek()
-{
-#ifdef THINK_C
-	scan_event_queue(0);
-#endif
-	return interrupted;
-}
-#endif
-
 /* Check whether we are in the foreground */
 int
 PyMac_InForeground()
@@ -505,6 +492,7 @@
 		}
 	}
 #endif /* !__MWERKS__ */
+	printf("not handled\n");
 }
 
 /*
@@ -596,21 +584,37 @@
 		schedparams.enabled = 0;
 	schedparams.next_check = 0;	/* Check immedeately */
 }
+
 /*
 ** Install our menu bar.
 */
 void
 PyMac_InitMenuBar()
 {
-	Handle bar;
 	MenuHandle applemenu;
 	
-	if ( (bar=GetMenuBar()) == NULL ) return;
+	if ( (sioux_mbar=GetMenuBar()) == NULL )  {
+		/* Sioux menu not installed yet. Do so */
+		SIOUXSetupMenus();
+		if ( (sioux_mbar=GetMenuBar()) == NULL )
+			return;
+	}
 	if ( (applemenu=GetMenuHandle(SIOUX_APPLEID)) == NULL ) return;
 	SetMenuItemText(applemenu, 1, "\pAbout Python...");
 }
 
 /*
+** Restore sioux menu bar
+*/
+void
+PyMac_RestoreMenuBar()
+{
+	if ( sioux_mbar )
+		SetMenuBar(sioux_mbar);
+}
+
+
+/*
 ** Our replacement about box
 */
 void
diff --git a/Mac/Python/macmain.c b/Mac/Python/macmain.c
index 8fd7bd2..49563a3 100644
--- a/Mac/Python/macmain.c
+++ b/Mac/Python/macmain.c
@@ -214,6 +214,7 @@
 
 #ifdef USE_SIOUX
 	/* Set various SIOUX flags. Some are changed later based on options */
+/*	SIOUXSettings.standalone = 0;	/* XXXX Attempting to keep sioux from eating events */
 	SIOUXSettings.asktosaveonclose = 0;
 	SIOUXSettings.showstatusline = 0;
 	SIOUXSettings.tabspaces = 4;
@@ -462,6 +463,7 @@
 		SIOUXSettings.standalone = 1;
 		SIOUXSettings.autocloseonquit = 0;
 		SIOUXSetTitle("\p\307terminated\310");
+		PyMac_RestoreMenuBar();
 #ifdef USE_MSL
 		/*
 		** Temporary workaround: autocloseonquit clearing does not
