diff --git a/indra/newview/llinventorybridge.cpp b/indra/newview/llinventorybridge.cpp
index e4fc469bb7d489108aeaada6cc88745c566f132f..522e58c98c651ed137e264beb2b96a2c9e1189ea 100755
--- a/indra/newview/llinventorybridge.cpp
+++ b/indra/newview/llinventorybridge.cpp
@@ -63,7 +63,9 @@
 #include "llpreviewtexture.h"
 #include "llselectmgr.h"
 #include "llsidepanelappearance.h"
+#include "lltoolcomp.h" // <alchemy/>
 #include "lltooldraganddrop.h"
+#include "lltoolmgr.h" // <alchemy/>
 #include "lltrans.h"
 #include "llviewerassettype.h"
 #include "llviewerfoldertype.h"
@@ -5253,6 +5255,19 @@ void LLObjectBridge::performAction(LLInventoryModel* model, std::string action)
 	{
 		LLAppearanceMgr::instance().removeItemFromAvatar(mUUID);
 	}
+	else if ("edit_object" == action)
+	{
+		if (LLInventoryItem* itemp = gInventory.getItem(mUUID))
+		{
+			if (LLViewerObject* objectp = gAgentAvatarp->getWornAttachment(itemp->getLinkedUUID()))
+			{
+				LLFloaterReg::showInstance("build");
+				LLToolMgr::getInstance()->setCurrentToolset(gBasicToolset);
+				LLToolMgr::getInstance()->getCurrentToolset()->selectTool(LLToolCompTranslate::getInstance());
+				LLSelectMgr::getInstance()->selectObjectAndFamily(objectp);
+			}
+		}
+	}
 	else LLItemBridge::performAction(model, action);
 }
 
@@ -5418,6 +5433,7 @@ void LLObjectBridge::buildContextMenu(LLMenuGL& menu, U32 flags)
 			{
 				items.push_back(std::string("Wearable And Object Separator"));
 				items.push_back(std::string("Detach From Yourself"));
+				items.push_back(std::string("Edit Object"));
 			}
 			else if (!isItemInTrash() && !isLinkedObjectInTrash() && !isLinkedObjectMissing() && !isCOFFolder())
 			{
diff --git a/indra/newview/skins/default/xui/en/menu_inventory.xml b/indra/newview/skins/default/xui/en/menu_inventory.xml
index 13dc0b941ad36df6026eea6e2e02b26792f60206..17b37d623dfcd11365ce242038d346af686d04df 100755
--- a/indra/newview/skins/default/xui/en/menu_inventory.xml
+++ b/indra/newview/skins/default/xui/en/menu_inventory.xml
@@ -631,6 +631,14 @@
     <menu_item_separator
      layout="topleft" 
      name="Wearable And Object Separator"/>
+    <menu_item_call
+     label="Edit"
+     layout="topleft"
+     name="Edit Object">
+        <menu_item_call.on_click
+         function="Inventory.DoToSelected"
+         parameter="edit_object" />
+    </menu_item_call>
     <menu_item_call
      label="Detach From Yourself"
      layout="topleft"