Index: alacarte-0.12.4/Alacarte/MainWindow.py
===================================================================
--- alacarte-0.12.4.orig/Alacarte/MainWindow.py	2010-02-27 13:06:34.545032537 +0100
+++ alacarte-0.12.4/Alacarte/MainWindow.py	2010-02-27 13:07:03.740529287 +0100
@@ -260,10 +260,10 @@ class MainWindow:
 
 	#this is a little timeout callback to insert new items after
 	#gnome-desktop-item-edit has finished running
-	def waitForNewItemProcess(self, process, parent_id, file_path):
+	def waitForNewItemProcess(self, process, parent, file_path):
 		if process.poll() != None:
 			if os.path.isfile(file_path):
-				self.editor.insertExternalItem(os.path.split(file_path)[1], parent_id)
+				self.editor.insertExternalItem(os.path.split(file_path)[1], parent)
 			return False
 		return True
 
@@ -309,7 +309,7 @@ class MainWindow:
 			parent = menus[iter][2]
 		file_path = os.path.join(util.getUserItemPath(), util.getUniqueFileId('alacarte-made', '.desktop'))
 		process = subprocess.Popen(['gnome-desktop-item-edit', file_path], env=os.environ)
-		gobject.timeout_add(100, self.waitForNewItemProcess, process, parent.menu_id, file_path)
+		gobject.timeout_add(100, self.waitForNewItemProcess, process, parent, file_path)
 
 	def on_new_separator_button_clicked(self, button):
 		item_tree = self.tree.get_object('item_tree')
Index: alacarte-0.12.4/Alacarte/MenuEditor.py
===================================================================
--- alacarte-0.12.4.orig/Alacarte/MenuEditor.py	2010-02-27 13:05:35.384532177 +0100
+++ alacarte-0.12.4/Alacarte/MenuEditor.py	2010-02-27 13:06:17.044530443 +0100
@@ -222,10 +222,9 @@ class MenuEditor:
 
 	def createItem(self, parent, icon, name, comment, command, use_term, before=None, after=None):
 		file_id = self.__writeItem(None, icon, name, comment, command, use_term)
-		self.insertExternalItem(file_id, parent.menu_id, before, after)
+		self.insertExternalItem(file_id, parent, before, after)
 
-	def insertExternalItem(self, file_id, parent_id, before=None, after=None):
-		parent = self.__findMenu(parent_id)
+	def insertExternalItem(self, file_id, parent, before=None, after=None):
 		dom = self.__getMenu(parent).dom
 		self.__addItem(parent, file_id, dom)
 		self.__positionItem(parent, ('Item', file_id), before, after)
