diff --git a/indra/newview/llfloaterimcontainer.cpp b/indra/newview/llfloaterimcontainer.cpp
index b979db9a64e2b7bcc84c286c6ed0a6fecc9ebc07..6ae04b5a408f9981994bcf4d17f1529ceb9c5ab4 100644
--- a/indra/newview/llfloaterimcontainer.cpp
+++ b/indra/newview/llfloaterimcontainer.cpp
@@ -292,6 +292,9 @@ void LLFloaterIMContainer::onOpen(const LLSD& key)
 	LLMultiFloater::onOpen(key);
 	reSelectConversation();
 	assignResizeLimits();
+
+	LLFloaterIMSessionTab* session_floater = LLFloaterIMSessionTab::getConversation(mSelectedSession);
+	session_floater->onOpen(key);
 }
 
 // virtual
diff --git a/indra/newview/llfloaterimsessiontab.cpp b/indra/newview/llfloaterimsessiontab.cpp
index e6222c8b56e00bf124ee8c639c32a87ba7cca049..36549ec08f745a6390507878c334b40ea080e59a 100644
--- a/indra/newview/llfloaterimsessiontab.cpp
+++ b/indra/newview/llfloaterimsessiontab.cpp
@@ -991,6 +991,8 @@ void LLFloaterIMSessionTab::onOpen(const LLSD& key)
 	}
 
 	mInputButtonPanel->setVisible(isTornOff());
+
+	setFocus(TRUE);
 }