diff --git a/indra/newview/llfloaterimsessiontab.cpp b/indra/newview/llfloaterimsessiontab.cpp
index 559e9ab23f5124732c9c1f863fed3a5c642689ec..0ccfdb9a7be79718c1c8f1a55f29c61fd2b2e06e 100755
--- a/indra/newview/llfloaterimsessiontab.cpp
+++ b/indra/newview/llfloaterimsessiontab.cpp
@@ -407,6 +407,7 @@ void LLFloaterIMSessionTab::onInputEditorClicked()
 	{
 		im_box->flashConversationItemWidget(mSessionID,false);
 	}
+	gToolBarView->flashCommand(LLCommandId("chat"), false);
 }
 
 std::string LLFloaterIMSessionTab::appendTime()
diff --git a/indra/newview/llimview.cpp b/indra/newview/llimview.cpp
index b43e9296f90bf9614221f7fc76ee7086ae79d0e1..afe1f720199620d7b2e2cdf3b73e479080c42510 100755
--- a/indra/newview/llimview.cpp
+++ b/indra/newview/llimview.cpp
@@ -173,7 +173,7 @@ void notify_of_message(const LLSD& msg, bool is_dnd_msg)
 	LLFloaterIMContainer* im_box = LLFloaterReg::getTypedInstance<LLFloaterIMContainer>("im_container");
 	LLFloaterIMSessionTab* session_floater = LLFloaterIMSessionTab::getConversation(session_id);
 	bool store_dnd_message = false; // flag storage of a dnd message
-
+	bool is_session_focused = session_floater->isTornOff() && session_floater->hasFocus();
 	if (!LLFloater::isVisible(im_box) || im_box->isMinimized())
 	{
 		conversations_floater_status = CLOSED;
@@ -329,6 +329,7 @@ void notify_of_message(const LLSD& msg, bool is_dnd_msg)
 	if (("toast" == user_preferences || "flash" == user_preferences) &&
 		(CLOSED == conversations_floater_status
 		|| NOT_ON_TOP == conversations_floater_status)
+		&& !is_session_focused
 		&& !is_dnd_msg) //prevent flashing FUI button because the conversation floater will have already opened
 	{
 		if(!LLMuteList::getInstance()->isMuted(participant_id))