diff --git a/indra/newview/llinventorybridge.cpp b/indra/newview/llinventorybridge.cpp
index 1f1017d78e991990e4cdbab921d0d2b62f9e3cee..4e3895ea9d4cb92b5e1b9e8294381609b8c21a17 100755
--- a/indra/newview/llinventorybridge.cpp
+++ b/indra/newview/llinventorybridge.cpp
@@ -737,11 +737,19 @@ void LLInvFVBridge::getClipboardEntries(bool show_asset_id,
 			{
 				items.push_back(std::string("Marketplace Separator"));
 
-				items.push_back(std::string("Merchant Copy"));
-				if (!canListOnMarketplaceNow())
-				{
-					disabled_items.push_back(std::string("Merchant Copy"));
-				}
+                if (gMenuHolder->getChild<LLView>("MerchantOutbox")->getVisible())
+                {
+                    items.push_back(std::string("Merchant Copy"));
+                    if (!canListOnMarketplaceNow())
+                    {
+                        disabled_items.push_back(std::string("Merchant Copy"));
+                    }
+                }
+                if (gMenuHolder->getChild<LLView>("MarketplaceListings")->getVisible())
+                {
+                    items.push_back(std::string("Marketplace Copy"));
+                    items.push_back(std::string("Marketplace Move"));
+                }
 			}
 		}
 	}
@@ -1577,6 +1585,13 @@ void LLItemBridge::performAction(LLInventoryModel* model, std::string action)
 		const LLUUID outbox_id = getInventoryModel()->findCategoryUUIDForType(LLFolderType::FT_OUTBOX, false);
 		copy_item_to_outbox(itemp, outbox_id, LLUUID::null, LLToolDragAndDrop::getOperationId());
 	}
+	else if (("move_to_marketplace_listings" == action) || ("copy_to_marketplace_listings" == action))
+	{
+		LLInventoryItem* itemp = model->getItem(mUUID);
+		if (!itemp) return;
+        const LLUUID &marketplacelistings_id = model->findCategoryUUIDForType(LLFolderType::FT_MARKETPLACE_LISTINGS, false);
+        move_item_to_marketplacelistings(itemp, marketplacelistings_id, ("copy_to_marketplace_listings" == action));
+    }
 	else if ("copy_slurl" == action)
 	{
 		LLViewerInventoryItem* item = static_cast<LLViewerInventoryItem*>(getItem());
@@ -2588,6 +2603,11 @@ BOOL LLFolderBridge::dragCategoryIntoFolder(LLInventoryCategory* inv_cat,
                     LLNotificationsUtil::add("ConfirmListingCutOrDelete", LLSD(), LLSD(), boost::bind(&LLFolderBridge::callback_dropCategoryIntoFolder, this, _1, _2, inv_cat));
                     return true;
                 }
+                if (move_is_into_marketplacelistings && !move_is_from_marketplacelistings)
+                {
+                    LLNotificationsUtil::add("ConfirmMerchantMoveInventory", LLSD(), LLSD(), boost::bind(&LLFolderBridge::callback_dropCategoryIntoFolder, this, _1, _2, inv_cat));
+                    return true;
+                }
             }
 			// Look for any gestures and deactivate them
 			if (move_is_into_trash)
@@ -3158,6 +3178,13 @@ void LLFolderBridge::performAction(LLInventoryModel* model, std::string action)
 		const LLUUID outbox_id = getInventoryModel()->findCategoryUUIDForType(LLFolderType::FT_OUTBOX, false);
 		copy_folder_to_outbox(cat, outbox_id, cat->getUUID(), LLToolDragAndDrop::getOperationId());
 	}
+	else if (("move_to_marketplace_listings" == action) || ("copy_to_marketplace_listings" == action))
+	{
+		LLInventoryCategory * cat = gInventory.getCategory(mUUID);
+		if (!cat) return;
+        const LLUUID &marketplacelistings_id = model->findCategoryUUIDForType(LLFolderType::FT_MARKETPLACE_LISTINGS, false);
+        move_folder_to_marketplacelistings(cat, marketplacelistings_id, ("copy_to_marketplace_listings" == action));
+    }
 }
 
 void LLFolderBridge::gatherMessage(std::string& message, LLError::ELevel log_level)
@@ -4460,6 +4487,11 @@ BOOL LLFolderBridge::dragItemIntoFolder(LLInventoryItem* inv_item,
                     LLNotificationsUtil::add("ConfirmMerchantActiveChange", LLSD(), LLSD(), boost::bind(&LLFolderBridge::callback_dropItemIntoFolder, this, _1, _2, inv_item));
                     return true;
                 }
+                if (move_is_into_marketplacelistings && !move_is_from_marketplacelistings)
+                {
+                    LLNotificationsUtil::add("ConfirmMerchantMoveInventory", LLSD(), LLSD(), boost::bind(&LLFolderBridge::callback_dropItemIntoFolder, this, _1, _2, inv_item));
+                    return true;
+                }
             }
 
 			//--------------------------------------------------------------------------------
diff --git a/indra/newview/skins/default/xui/en/menu_inventory.xml b/indra/newview/skins/default/xui/en/menu_inventory.xml
index 63f408c05c525033a7c27e827cb0220c90a8e8a4..4187bf9d4743bc5045955f677174d768ae4de552 100755
--- a/indra/newview/skins/default/xui/en/menu_inventory.xml
+++ b/indra/newview/skins/default/xui/en/menu_inventory.xml
@@ -785,6 +785,22 @@
 		 parameter="copy_to_outbox" />
 	</menu_item_call>
 	<menu_item_call
+        label="Copy to Marketplace Listings"
+        layout="topleft"
+        name="Marketplace Copy">
+		<menu_item_call.on_click
+        function="Inventory.DoToSelected"
+        parameter="copy_to_marketplace_listings" />
+	</menu_item_call>
+	<menu_item_call
+        label="Move to Marketplace Listings"
+        layout="topleft"
+        name="Marketplace Move">
+		<menu_item_call.on_click
+        function="Inventory.DoToSelected"
+        parameter="move_to_marketplace_listings" />
+	</menu_item_call>
+	<menu_item_call
      label="--no options--"
      layout="topleft"
      name="--no options--" />
diff --git a/indra/newview/skins/default/xui/en/notifications.xml b/indra/newview/skins/default/xui/en/notifications.xml
index 4d856ed8a7442f343640a3e65b55176a0b959991..bb7f296285bff60e208c3e3cfbc3c541ac3ccf3a 100755
--- a/indra/newview/skins/default/xui/en/notifications.xml
+++ b/indra/newview/skins/default/xui/en/notifications.xml
@@ -369,6 +369,19 @@ Initialization with the Marketplace failed because of a system or network error.
         yestext="OK"/>
     </notification>
 
+    <notification
+        icon="alertmodal.tga"
+        name="ConfirmMerchantMoveInventory"
+        type="alertmodal">
+        Items dragged to the Marketplace Items window are moved from their original locations, not copied. Do you want to continue?
+        <tag>confirm</tag>
+        <usetemplate
+        ignoretext="Confirm before I move an item from the inventory to the marketplace"
+        name="okcancelignore"
+        notext="Cancel"
+        yestext="OK"/>
+    </notification>
+    
     <notification
         icon="alertmodal.tga"
         name="ConfirmListingCutOrDelete"