diff --git a/indra/newview/llinventoryfilter.cpp b/indra/newview/llinventoryfilter.cpp
index 6a800cf5ba7eb05e7f8384d76360336964b855bd..cf5e87c717018a0af69cc314b4d4f3112385324d 100755
--- a/indra/newview/llinventoryfilter.cpp
+++ b/indra/newview/llinventoryfilter.cpp
@@ -33,6 +33,7 @@
 #include "llfolderviewitem.h"
 #include "llinventorymodel.h"
 #include "llinventorymodelbackgroundfetch.h"
+#include "llinventoryfunctions.h"
 #include "llmarketplacefunctions.h"
 #include "llviewercontrol.h"
 #include "llfolderview.h"
@@ -133,29 +134,34 @@ bool LLInventoryFilter::checkFolder(const LLUUID& folder_id) const
 	}
 
 	// Marketplace folder filtering
-	const U32 filterTypes = mFilterOps.mFilterTypes;
-	if (filterTypes & FILTERTYPE_MARKETPLACE_ACTIVE)
-	{
-        if (!LLMarketplaceData::instance().getActivationState(folder_id))
+    S32 depth = depth_nesting_in_marketplace(folder_id);
+    if (depth > 0)
+    {
+        const U32 filterTypes = mFilterOps.mFilterTypes;
+        LLUUID listing_uuid = nested_parent_id(folder_id, depth);
+        if (filterTypes & FILTERTYPE_MARKETPLACE_ACTIVE)
         {
-            return false;
+            if (!LLMarketplaceData::instance().getActivationState(listing_uuid))
+            {
+                return false;
+            }
         }
-	}
-	if (filterTypes & FILTERTYPE_MARKETPLACE_INACTIVE)
-	{
-        if (LLMarketplaceData::instance().getActivationState(folder_id))
+        else if (filterTypes & FILTERTYPE_MARKETPLACE_INACTIVE)
         {
-            return false;
+            if (!LLMarketplaceData::instance().isListed(listing_uuid) || LLMarketplaceData::instance().getActivationState(listing_uuid))
+            {
+                return false;
+            }
         }
-	}
-	if (filterTypes & FILTERTYPE_MARKETPLACE_UNASSOCIATED)
-	{
-        if (!LLMarketplaceData::instance().getListingID(folder_id).empty())
+        else if (filterTypes & FILTERTYPE_MARKETPLACE_UNASSOCIATED)
         {
-            return false;
+            if (LLMarketplaceData::instance().isListed(listing_uuid))
+            {
+                return false;
+            }
         }
 	}
-	
+    
 	// Always check against the clipboard
 	const BOOL passed_clipboard = checkAgainstClipboard(folder_id);
 	
diff --git a/indra/newview/skins/default/xui/en/menu_marketplace_view.xml b/indra/newview/skins/default/xui/en/menu_marketplace_view.xml
index 4043c5c93d3fa89ce696c6736bc324df67f2744c..d08cb23483fd7b81f27b8ebe88f936e764ff2c53 100755
--- a/indra/newview/skins/default/xui/en/menu_marketplace_view.xml
+++ b/indra/newview/skins/default/xui/en/menu_marketplace_view.xml
@@ -30,7 +30,7 @@
         function="Marketplace.ViewSort.CheckItem"
         parameter="show_unassociated" />
     </menu_item_check>
-    <menu_item_check name="show_active" label="Show Active Listings and Folders Only">
+    <menu_item_check name="show_active" label="Show Active Listings Only">
         <menu_item_check.on_click
         function="Marketplace.ViewSort.Action"
         parameter="show_active" />