diff --git a/indra/newview/llinventorygallery.cpp b/indra/newview/llinventorygallery.cpp
index 694881372dba15615ce9a944093e8901106c9ee9..53b62c7fb71c4e4408e73e13d2b321cadc9a2b94 100644
--- a/indra/newview/llinventorygallery.cpp
+++ b/indra/newview/llinventorygallery.cpp
@@ -661,10 +661,11 @@ bool LLInventoryGallery::applyFilter(LLInventoryGalleryItem* item, const std::st
 {
     if(item)
     {
-        item->setHidden(!checkAgainstFilters(item, filter_substring));
-        return false;
+        bool visible = checkAgainstFilters(item, filter_substring);
+        item->setHidden(!visible);
+        return visible;
     }
-    return true;
+    return false;
 }
 
 bool LLInventoryGallery::checkAgainstFilters(LLInventoryGalleryItem* item, const std::string& filter_substring)
@@ -762,6 +763,7 @@ void LLInventoryGallery::onIdle(void* userdata)
     {
         self->mNeedsArrange = false;
         self->reArrangeRows();
+        self->updateMessageVisibility();
     }
 
     if (self->mItemToSelect.notNull())