diff --git a/indra/newview/llpanelmaininventory.cpp b/indra/newview/llpanelmaininventory.cpp
index f771a027e0f81e5443f526fb2ef47b597ad2fbda..ec80ff8de7f7fe4dcc071d1d8ec22f4e7ff3c32a 100644
--- a/indra/newview/llpanelmaininventory.cpp
+++ b/indra/newview/llpanelmaininventory.cpp
@@ -162,6 +162,7 @@ BOOL LLPanelMainInventory::postBuild()
 		recent_items_panel->setShowFolderState(LLInventoryFilter::SHOW_NON_EMPTY_FOLDERS);
 		LLInventoryFilter& recent_filter = recent_items_panel->getFilter();
 		recent_filter.setFilterObjectTypes(recent_filter.getFilterObjectTypes() & ~(0x1 << LLInventoryType::IT_CATEGORY));
+		recent_filter.setEmptyLookupMessage("InventoryNoMatchingRecentItems");
 		recent_filter.markDefault();
 		recent_items_panel->setSelectCallback(boost::bind(&LLPanelMainInventory::onSelectionChange, this, recent_items_panel, _1, _2));
 	}
diff --git a/indra/newview/llpanelmaininventory.h b/indra/newview/llpanelmaininventory.h
index 5300a2c02301cbfa9585db9507a7893d433da122..2904d5de76dcd0b801a313245415475a11c09ada 100644
--- a/indra/newview/llpanelmaininventory.h
+++ b/indra/newview/llpanelmaininventory.h
@@ -91,6 +91,8 @@ class LLPanelMainInventory : public LLPanel, LLInventoryObserver
 
 	static void newWindow();
 
+	void toggleFindOptions();
+
 protected:
 	//
 	// Misc functions
@@ -98,7 +100,6 @@ class LLPanelMainInventory : public LLPanel, LLInventoryObserver
 	void setFilterTextFromFilter();
 	void startSearch();
 	
-	void toggleFindOptions();
 	void onSelectionChange(LLInventoryPanel *panel, const std::deque<LLFolderViewItem*>& items, BOOL user_action);
 
 	static BOOL filtersVisible(void* user_data);
diff --git a/indra/newview/llviewerinventory.cpp b/indra/newview/llviewerinventory.cpp
index 6c9fe5e39b9e954bf0d1d642828ad17d172e1a3e..1ab7ec0156d56b42020e622c245f45ec96978453 100644
--- a/indra/newview/llviewerinventory.cpp
+++ b/indra/newview/llviewerinventory.cpp
@@ -60,7 +60,9 @@
 #include "llappearancemgr.h"
 #include "llcommandhandler.h"
 #include "llviewermessage.h"
+#include "llpanelmaininventory.h"
 #include "llsidepanelappearance.h"
+#include "llsidepanelinventory.h"
 #include "llavatarnamecache.h"
 #include "llavataractions.h"
 #include "lllogininstance.h"
@@ -248,6 +250,20 @@ class LLInventoryHandler : public LLCommandHandler
 			return true;
 		}
 
+		if (params[0].asString() == "filters")
+		{
+			LLSidepanelInventory *sidepanel_inventory = LLFloaterSidePanelContainer::getPanel<LLSidepanelInventory>("inventory");
+			if (sidepanel_inventory)
+			{
+				LLPanelMainInventory* main_inventory = sidepanel_inventory->getMainInventoryPanel();
+				if (main_inventory)
+				{
+					main_inventory->toggleFindOptions();
+				}
+			}
+			return true;
+		}
+
 		// otherwise, we need a UUID and a verb...
 		if (params.size() < 2) 
 		{
diff --git a/indra/newview/skins/default/xui/en/strings.xml b/indra/newview/skins/default/xui/en/strings.xml
index 439560031e69bd71967d54a4e9dec8dd37316717..d7c8f95a3aa0eba5a593dc6ad7d7387b8bca7692 100644
--- a/indra/newview/skins/default/xui/en/strings.xml
+++ b/indra/newview/skins/default/xui/en/strings.xml
@@ -2289,6 +2289,7 @@ For AI Character: Get the closest navigable point to the point provided.
 
 	<!-- inventory -->
 	<string name="InventoryNoMatchingItems">Didn't find what you're looking for? Try [secondlife:///app/search/all/[SEARCH_TERM] Search].</string>
+	<string name="InventoryNoMatchingRecentItems">Didn't find what you're looking for? Try [secondlife:///app/inventory/filters Show filters].</string>
 	<string name="PlacesNoMatchingItems">Didn't find what you're looking for? Try [secondlife:///app/search/places/[SEARCH_TERM] Search].</string>
 	<string name="FavoritesNoMatchingItems">Drag a landmark here to add it to your favorites.</string>
 	<string name="MarketplaceNoMatchingItems">No items found. Check the spelling of your search string and try again.</string>