diff --git a/indra/newview/llfloaterimcontainer.cpp b/indra/newview/llfloaterimcontainer.cpp
index 413707baae35c5e17f6e4a24410ee0758e8d213b..29ff037d59cb7b03ea16ac46d15c5606f2ffe320 100644
--- a/indra/newview/llfloaterimcontainer.cpp
+++ b/indra/newview/llfloaterimcontainer.cpp
@@ -758,11 +758,16 @@ void LLFloaterIMContainer::assignResizeLimits()
 	// between the panels are merged into one
     S32 number_of_visible_borders = llmin((is_conv_pane_expanded? 2 : 0) + (is_msg_pane_expanded? 2 : 0), 3);
     S32 summary_width_of_visible_borders = number_of_visible_borders * LLPANEL_BORDER_WIDTH;
-	S32 conv_pane_current_width = is_msg_pane_expanded
+	S32 conv_pane_target_width = is_conv_pane_expanded?
+			(is_msg_pane_expanded?
+					mConversationsPane->getRect().getWidth()
+					: mConversationsPane->getExpandedMinDim())
+			: mConversationsPane->getMinDim();
+	S32 conv_pane_target_width = is_msg_pane_expanded
 			? (is_conv_pane_expanded? mConversationsPane->getRect().getWidth() : mConversationsPane->getMinDim())
 			: (is_conv_pane_expanded? mConversationsPane->getExpandedMinDim() : mConversationsPane->getMinDim());
 	S32 msg_pane_min_width  = is_msg_pane_expanded ? mMessagesPane->getExpandedMinDim() : 0;
-	S32 new_min_width = conv_pane_current_width + msg_pane_min_width + summary_width_of_visible_borders;
+	S32 new_min_width = conv_pane_target_width + msg_pane_min_width + summary_width_of_visible_borders;
 
     if (is_conv_pane_expanded)
     {