diff --git a/indra/llui/llfloater.cpp b/indra/llui/llfloater.cpp
index 3680e20f15476550ec88c6e9a626e9cbc4b7fe54..8ceb411ede76dcb8c44abf82a7db959ee524a46a 100644
--- a/indra/llui/llfloater.cpp
+++ b/indra/llui/llfloater.cpp
@@ -510,7 +510,12 @@ void LLFloater::destroy()
 // virtual
 LLFloater::~LLFloater()
 {
-	LLFloaterReg::removeInstance(mInstanceName, mKey);
+    if (!isDead())
+    {
+        // If it's dead, instance is supposed to be already removed, and
+        // in case of single instance we can remove new one by accident
+        LLFloaterReg::removeInstance(mInstanceName, mKey);
+    }
 	
 	if( gFocusMgr.childHasKeyboardFocus(this))
 	{
diff --git a/indra/newview/llurlfloaterdispatchhandler.cpp b/indra/newview/llurlfloaterdispatchhandler.cpp
index ec2e423c64a1a1cdcd67883946ce800aae9ffc13..0343485864030643c5b2832bff7bd8f9e69dcb81 100644
--- a/indra/newview/llurlfloaterdispatchhandler.cpp
+++ b/indra/newview/llurlfloaterdispatchhandler.cpp
@@ -54,6 +54,7 @@ const std::string FLOATER_GUIDEBOOK("guidebook"); // alias for how_to
 const std::string FLOATER_HOW_TO("how_to");
 const std::string FLOATER_WEB_CONTENT("web_content");
 
+// All arguments are palceholders! Server side will need to add validation first.
 // Web content universal argument
 const std::string KEY_TRUSTED_CONTENT("trusted_content");
 
@@ -105,6 +106,8 @@ bool LLUrlFloaterDispatchHandler::operator()(const LLDispatcher *, const std::st
         }
     }
 
+    // At the moment command_params is a placeholder and code treats it as map
+    // Once server side adds argument validation this will be either a map or an array
     std::string floater;
     LLSD command_params;
     std::string url;