diff --git a/indra/newview/llfloaterimcontainer.cpp b/indra/newview/llfloaterimcontainer.cpp
index 2720b7fcf7756cf57c51642c72ed3e695218a254..011ad670114779a22199bc86b16fd11ce9768549 100644
--- a/indra/newview/llfloaterimcontainer.cpp
+++ b/indra/newview/llfloaterimcontainer.cpp
@@ -289,6 +289,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 af4e7f5aff8eb151af045ccd04a953458cab4d2e..0b0dce29fba32e0f8a06c3fc465547981b805a14 100644
--- a/indra/newview/llfloaterimsessiontab.cpp
+++ b/indra/newview/llfloaterimsessiontab.cpp
@@ -986,6 +986,8 @@ void LLFloaterIMSessionTab::onOpen(const LLSD& key)
 	}
 
 	mInputButtonPanel->setVisible(isTornOff());
+
+	setFocus(TRUE);
 }