diff --git a/Mac/Lib/FrameWork.py b/Mac/Lib/FrameWork.py
index b2b61dbca803e5e41a36c17bab143a557f987c74..c0692b941e5a797fb265a1bb6bd8be581f800ec3 100644
--- a/Mac/Lib/FrameWork.py
+++ b/Mac/Lib/FrameWork.py
@@ -30,6 +30,9 @@ import EasyDialogs
 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 @@ class MenuBar:
 		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 MenuBar:
 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 @@ def SubMenu(menu, label, title=''):
 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 f9c9affcc1891fddb56df55c9ad04119a7c4b8bc..e66ab837e5110e1837316b38724f39141993c116 100644
--- a/Mac/Python/macglue.c
+++ b/Mac/Python/macglue.c
@@ -720,6 +720,8 @@ void
 PyMac_InitMenuBar()
 {
 	MenuHandle applemenu;
+	Str255 about_text;
+	static unsigned char about_sioux[] = "\pAbout SIOUX";
 	
 	if ( sioux_mbar ) return;
 #if 0
@@ -737,7 +739,10 @@ PyMac_InitMenuBar()
 			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...");
 }
 
 /*