diff --git a/doc/contributions.txt b/doc/contributions.txt
index c8125c675fbfa6e1448b8005b23668d019c7bb7a..876da9f210063cac749e72498033a8424cfe611a 100644
--- a/doc/contributions.txt
+++ b/doc/contributions.txt
@@ -329,6 +329,7 @@ Khyota Wulluf
 	VWR-9966
 Kitty Barnett
 	VWR-19699
+	WEB-1819
 Kunnis Basiat
 	VWR-82
 	VWR-102
diff --git a/indra/newview/llfloatersearch.cpp b/indra/newview/llfloatersearch.cpp
index 76caa0cf9193cffefd1e5dae811b794693c0a9a0..13f2d6bc17764e7b1ed920bd6e2d37542a3fd536 100644
--- a/indra/newview/llfloatersearch.cpp
+++ b/indra/newview/llfloatersearch.cpp
@@ -113,14 +113,10 @@ BOOL LLFloaterSearch::postBuild()
 
 void LLFloaterSearch::onOpen(const LLSD& key)
 {
-	search(key);
-}
-
-void LLFloaterSearch::onClose(bool app_quitting)
-{
-	// tear down the web view so we don't show the previous search
-	// result when the floater is opened next time
-	destroy();
+	if ( (key.has("category")) || ((mBrowser) && (mBrowser->getCurrentNavUrl().empty())) )
+	{
+		search(key);
+	}
 }
 
 void LLFloaterSearch::handleMediaEvent(LLPluginClassMedia *self, EMediaEvent event)
diff --git a/indra/newview/llfloatersearch.h b/indra/newview/llfloatersearch.h
index 0a8d9bbe36986834f061b558405c2a19fc3a508b..ba817adf7f060271b877a55d72419cbe7491af11 100644
--- a/indra/newview/llfloatersearch.h
+++ b/indra/newview/llfloatersearch.h
@@ -59,8 +59,6 @@ class LLFloaterSearch :
 	/// see search() for details on the key parameter.
 	/*virtual*/ void onOpen(const LLSD& key);
 
-	/*virtual*/ void onClose(bool app_quitting);
-
 	/// perform a search with the specific search term.
 	/// The key should be a map that can contain the following keys:
 	///  - "id": specifies the text phrase to search for