diff --git a/indra/newview/llimfloatercontainer.cpp b/indra/newview/llimfloatercontainer.cpp
index 49521b5987d46939d541477a8093279c6e1e1e6d..a775115ac9d65363c56a16b4745bc66ca8efcae5 100644
--- a/indra/newview/llimfloatercontainer.cpp
+++ b/indra/newview/llimfloatercontainer.cpp
@@ -145,4 +145,16 @@ LLIMFloaterContainer* LLIMFloaterContainer::getInstance()
 	return LLFloaterReg::getTypedInstance<LLIMFloaterContainer>("im_container");
 }
 
+void LLIMFloaterContainer::setMinimized(BOOL b)
+{
+	LLMultiFloater::setMinimized(b);
+
+	if (isMinimized()) return;
+
+	if (getActiveFloater())
+	{
+		getActiveFloater()->setVisible(TRUE);
+	}
+}
+
 // EOF
diff --git a/indra/newview/llimfloatercontainer.h b/indra/newview/llimfloatercontainer.h
index 46c0617c017f5d7e2d3e263603baaf368f333344..f6cdc25ebdbe3cd3db2562aee244d25b2e073d51 100644
--- a/indra/newview/llimfloatercontainer.h
+++ b/indra/newview/llimfloatercontainer.h
@@ -63,6 +63,8 @@ class LLIMFloaterContainer : public LLMultiFloater
 
 	static LLIMFloaterContainer* getInstance();
 
+	virtual void setMinimized(BOOL b);
+
 private:
 	typedef std::map<LLUUID,LLFloater*> avatarID_panel_map_t;
 	avatarID_panel_map_t mSessions;