diff --git a/indra/newview/llfloaterimcontainer.cpp b/indra/newview/llfloaterimcontainer.cpp
index 7437dd8cda73f0b73f38597d73aa481e77633c40..5f1b3dcfb11517a6295ce5389e084e6e93a02264 100644
--- a/indra/newview/llfloaterimcontainer.cpp
+++ b/indra/newview/llfloaterimcontainer.cpp
@@ -62,8 +62,7 @@ LLFloaterIMContainer::LLFloaterIMContainer(const LLSD& seed, const Params& param
 	mExpandCollapseBtn(NULL),
 	mConversationsRoot(NULL),
 	mConversationsEventStream("ConversationsEvents"),
-	mInitialized(false),
-	mIsFirstLaunch(false)
+	mInitialized(false)
 {
     mEnableCallbackRegistrar.add("IMFloaterContainer.Check", boost::bind(&LLFloaterIMContainer::isActionChecked, this, _2));
 	mCommitCallbackRegistrar.add("IMFloaterContainer.Action", boost::bind(&LLFloaterIMContainer::onCustomAction,  this, _2));
@@ -245,7 +244,6 @@ BOOL LLFloaterIMContainer::postBuild()
 	mGeneralTitle = getTitle();
 	
 	mInitialized = true;
-	mIsFirstLaunch = true;
 
 	// Add callbacks:
 	// We'll take care of view updates on idle
@@ -280,12 +278,6 @@ void LLFloaterIMContainer::addFloater(LLFloater* floaterp,
 
 	LLUUID session_id = floaterp->getKey();
 	
-	// Make sure the message panel is open when adding a floater or it stays mysteriously hidden
-	if (!mIsFirstLaunch)
-	{
-		collapseMessagesPane(false);
-	}
-
 	// Add the floater
 	LLMultiFloater::addFloater(floaterp, select_added_floater, insertion_point);
 
@@ -646,8 +638,6 @@ void LLFloaterIMContainer::collapseMessagesPane(bool collapse)
 		return;
 	}
 
-	mIsFirstLaunch = false;
-
 	// Save current width of panels before collapsing/expanding right pane.
 	S32 conv_pane_width = mConversationsPane->getRect().getWidth();
     S32 msg_pane_width = mMessagesPane->getRect().getWidth();
diff --git a/indra/newview/llfloaterimcontainer.h b/indra/newview/llfloaterimcontainer.h
index 5139651d8d0b8b4458883f57610e2283dbb3c11c..2cbc1e99f9a511217450eee0d8269f36959998c5 100644
--- a/indra/newview/llfloaterimcontainer.h
+++ b/indra/newview/llfloaterimcontainer.h
@@ -174,7 +174,6 @@ class LLFloaterIMContainer
 	LLLayoutStack* mConversationsStack;
 	
 	bool mInitialized;
-	bool mIsFirstLaunch;
 
 	LLUUID mSelectedSession;
 	std::string mGeneralTitle;
diff --git a/indra/newview/llimview.cpp b/indra/newview/llimview.cpp
index 8f3f5145a96c7e6c9ede10bb9820575f2f669fae..699e36db4f72454f015dff6113eea9a680ee983b 100644
--- a/indra/newview/llimview.cpp
+++ b/indra/newview/llimview.cpp
@@ -285,6 +285,7 @@ void on_new_message(const LLSD& msg)
             {
 				//Surface conversations floater
 				LLFloaterReg::showInstance("im_container");
+				im_box->collapseMessagesPane(false);
 			}
 
             //If in DND mode, allow notification to be stored so upon DND exit