diff --git a/indra/newview/llimview.cpp b/indra/newview/llimview.cpp
index a266f06a20a54515fa548d41151dcc3a58b82231..aadc61c4f5cb4b653aa98a09d53b96cf537dd670 100644
--- a/indra/newview/llimview.cpp
+++ b/indra/newview/llimview.cpp
@@ -287,9 +287,22 @@ void on_new_message(const LLSD& msg)
 				//Surface conversations floater
 				LLFloaterReg::showInstance("im_container");
 				im_box->collapseMessagesPane(false);
-				if (session_floater && session_floater->isMinimized())
+				if (session_floater)
 				{
-					LLFloater::onClickMinimize(session_floater);
+					if (session_floater->getHost())
+					{
+						if (NULL != im_box && im_box->isMinimized())
+						{
+							LLFloater::onClickMinimize(im_box);
+						}
+					}
+					else
+					{
+						if (session_floater->isMinimized())
+						{
+							LLFloater::onClickMinimize(session_floater);
+						}
+					}
 				}
 			}