diff --git a/Mac/Lib/FrameWork.py b/Mac/Lib/FrameWork.py
index b2b61db..c0692b9 100644
--- a/Mac/Lib/FrameWork.py
+++ b/Mac/Lib/FrameWork.py
@@ -30,6 +30,9 @@
 kHighLevelEvent = 23	# Don't know what header file this should come from
 SCROLLBARWIDTH = 16		# Again, not a clue...
 
+# Trick to forestall a set of SIOUX menus being added to our menubar
+SIOUX_APPLEMENU_ID=32000
+
 
 # Map event 'what' field to strings
 eventname = {}
@@ -442,8 +445,9 @@
 		self.bar = None
 		self.menus = None
 	
-	def addmenu(self, title, after = 0):
-		id = self.getnextid()
+	def addmenu(self, title, after = 0, id=None):
+		if id == None:
+			id = self.getnextid()
 		if DEBUG: print 'Newmenu', title, id # XXXX
 		m = NewMenu(id, title)
 		m.InsertMenu(after)
@@ -507,9 +511,9 @@
 class Menu:
 	"One menu."
 	
-	def __init__(self, bar, title, after=0):
+	def __init__(self, bar, title, after=0, id=None):
 		self.bar = bar
-		self.id, self.menu = self.bar.addmenu(title, after)
+		self.id, self.menu = self.bar.addmenu(title, after, id)
 		bar.menus[self.id] = self
 		self.items = []
 		self._parent = None
@@ -675,7 +679,7 @@
 class AppleMenu(Menu):
 	
 	def __init__(self, bar, abouttext="About me...", aboutcallback=None):
-		Menu.__init__(self, bar, "\024")
+		Menu.__init__(self, bar, "\024", id=SIOUX_APPLEMENU_ID)
 		if MacOS.runtimemodel == 'ppc':
 			self.additem(abouttext, None, aboutcallback)
 			self.addseparator()
diff --git a/Mac/Python/macglue.c b/Mac/Python/macglue.c
index f9c9aff..e66ab83 100644
--- a/Mac/Python/macglue.c
+++ b/Mac/Python/macglue.c
@@ -720,6 +720,8 @@
 PyMac_InitMenuBar()
 {
 	MenuHandle applemenu;
+	Str255 about_text;
+	static unsigned char about_sioux[] = "\pAbout SIOUX";
 	
 	if ( sioux_mbar ) return;
 #if 0
@@ -737,7 +739,10 @@
 			return;
 	}
 	if ( (applemenu=GetMenuHandle(SIOUX_APPLEID)) == NULL ) return;
-	SetMenuItemText(applemenu, 1, "\pAbout Python...");
+	GetMenuItemText(applemenu, 1, about_text);
+	if ( about_text[0] == about_sioux[0] && 
+		strncmp((char *)(about_text+1), (char *)(about_sioux+1), about_text[0]) == 0 )
+		SetMenuItemText(applemenu, 1, "\pAbout Python...");
 }
 
 /*
