diff --git a/indra/newview/llimview.cpp b/indra/newview/llimview.cpp
index a84dbcd84a112f5d1b9ca2b280841fce523f8bc7..ca04d27d1133032ce4ddfbb7a9b424628fd0b7cb 100644
--- a/indra/newview/llimview.cpp
+++ b/indra/newview/llimview.cpp
@@ -224,8 +224,9 @@ void on_new_message(const LLSD& msg)
     // actions:
 
     // 0. nothing - exit
-    if ("none" == user_preferences ||
+    if (("none" == user_preferences ||
     		ON_TOP_AND_ITEM_IS_SELECTED == conversations_floater_status)
+    	&& session_floater->isMessagePaneExpanded())
     {
     	return;
     }
@@ -294,9 +295,10 @@ void on_new_message(const LLSD& msg)
     }
 
     // 4. Toast
-    if ("toast" == user_preferences &&
+    if (("toast" == user_preferences &&
     		(CLOSED == conversations_floater_status
     		    || NOT_ON_TOP == conversations_floater_status))
+    		    || !session_floater->isMessagePaneExpanded())
     {
         //Show IM toasts (upper right toasts)
         // Skip toasting for system messages and for nearby chat