diff --git a/indra/newview/llpanelmaininventory.cpp b/indra/newview/llpanelmaininventory.cpp
index cef21e85d6d584593b0115e4e740771e4eaca013..c0da8f3daac675b9f42cd2af3c6f0de656988c5a 100644
--- a/indra/newview/llpanelmaininventory.cpp
+++ b/indra/newview/llpanelmaininventory.cpp
@@ -530,11 +530,23 @@ BOOL LLPanelMainInventory::handleDragAndDrop(S32 x, S32 y, MASK mask, BOOL drop,
 	return handled;
 }
 
-void LLPanelMainInventory::changed(U32 mask)
+// virtual
+void LLPanelMainInventory::changed(U32)
 {
+	// empty, but must have this defined for abstract base class.
 }
 
 
+// virtual
+void LLPanelMainInventory::draw()
+{
+	if (mActivePanel && mFilterEditor)
+	{
+		mFilterEditor->setText(mActivePanel->getFilterSubString());
+	}	
+	LLPanel::draw();
+}
+
 void LLPanelMainInventory::setFilterTextFromFilter() 
 { 
 	mFilterText = mActivePanel->getFilter()->getFilterText(); 
diff --git a/indra/newview/llpanelmaininventory.h b/indra/newview/llpanelmaininventory.h
index 92443df369b28070a536c1432011b455895ed42c..920de2665c5dd023b47d34ee7812c620b5168916 100644
--- a/indra/newview/llpanelmaininventory.h
+++ b/indra/newview/llpanelmaininventory.h
@@ -72,7 +72,8 @@ class LLPanelMainInventory : public LLPanel, LLInventoryObserver
 									   void* cargo_data,
 									   EAcceptance* accept,
 									   std::string& tooltip_msg);
-	/*virtual*/ void changed(U32 mask);
+	/*virtual*/ void changed(U32);
+	/*virtual*/ void draw();
 
 	LLInventoryPanel* getPanel() { return mActivePanel; }
 	LLInventoryPanel* getActivePanel() { return mActivePanel; }