diff --git a/indra/newview/llfloaterimcontainer.cpp b/indra/newview/llfloaterimcontainer.cpp
index 2fd8901d9e98fc7e26bfa657041ccf0574697ce8..5e0cd8ef78ce35989e3519bfdce18077fb067892 100644
--- a/indra/newview/llfloaterimcontainer.cpp
+++ b/indra/newview/llfloaterimcontainer.cpp
@@ -1329,6 +1329,9 @@ void LLFloaterIMContainer::showConversation(const LLUUID& session_id)
 {
     setVisibleAndFrontmost(false);
     selectConversationPair(session_id, true);
+
+    LLFloaterIMSessionTab* session_floater = LLFloaterIMSessionTab::findConversation(session_id);
+    session_floater->restoreFloater();
 }
 
 void LLFloaterIMContainer::clearAllFlashStates()
diff --git a/indra/newview/llfloaterimsessiontab.cpp b/indra/newview/llfloaterimsessiontab.cpp
index 4ae00fcd5fe8aab673e7c07cc4a52b95dd57dcd4..5df1a382cdf0215ed0d5b45df7a7a39513f106f0 100644
--- a/indra/newview/llfloaterimsessiontab.cpp
+++ b/indra/newview/llfloaterimsessiontab.cpp
@@ -838,6 +838,10 @@ void LLFloaterIMSessionTab::restoreFloater()
 {
 	if(!isMessagePaneExpanded())
 	{
+		if(isMinimized())
+		{
+			setMinimized(false);
+		}
 		mContentPanel->setVisible(true);
 		mToolbarPanel->setVisible(true);
 		LLRect floater_rect = getRect();
diff --git a/indra/newview/llfloaterimsessiontab.h b/indra/newview/llfloaterimsessiontab.h
index e41f63903737230e13352731278a27a99f2b042b..f22e2b57442b2b0f3b32a5ac0c6bbbcda23e128f 100644
--- a/indra/newview/llfloaterimsessiontab.h
+++ b/indra/newview/llfloaterimsessiontab.h
@@ -100,6 +100,7 @@ class LLFloaterIMSessionTab
 	virtual BOOL handleKeyHere( KEY key, MASK mask );
 	bool isMessagePaneExpanded(){return mMessagePaneExpanded;}
 	void setMessagePaneExpanded(bool expanded){mMessagePaneExpanded = expanded;}
+	void restoreFloater();
 
 protected:
 
@@ -115,7 +116,6 @@ class LLFloaterIMSessionTab
 	static void onSlide(LLFloaterIMSessionTab *self);
 	static void onCollapseToLine(LLFloaterIMSessionTab *self);
 	void reshapeFloater(bool collapse);
-	void restoreFloater();
 
 	// refresh a visual state of the Call button
 	void updateCallBtnState(bool callIsActive);