diff --git a/indra/newview/llconversationview.cpp b/indra/newview/llconversationview.cpp
index 42104ea20a8d575c5626216aa6547f4f275ec4df..06953372411adb305c6ff3c24405bdcbc0898787 100755
--- a/indra/newview/llconversationview.cpp
+++ b/indra/newview/llconversationview.cpp
@@ -270,6 +270,24 @@ BOOL LLConversationViewSession::handleMouseDown( S32 x, S32 y, MASK mask )
 	return result;
 }
 
+BOOL LLConversationViewSession::handleMouseUp( S32 x, S32 y, MASK mask )
+{
+	BOOL result = LLFolderViewFolder::handleMouseUp(x, y, mask);
+
+	if(result && getRoot())
+    {
+		LLConversationItem* item = dynamic_cast<LLConversationItem *>(getViewModelItem());
+		LLUUID session_id = item? item->getUUID() : LLUUID();
+		LLFloaterIMSessionTab* session_floater = LLFloaterIMSessionTab::findConversation(session_id);
+		if(!session_floater->getHost() && !session_floater->hasFocus())
+		{
+			session_floater->setFocus(true);
+		}
+    }
+
+	return result;
+}
+
 BOOL LLConversationViewSession::handleRightMouseDown( S32 x, S32 y, MASK mask )
 {
     BOOL result = LLFolderViewFolder::handleRightMouseDown(x, y, mask);
diff --git a/indra/newview/llconversationview.h b/indra/newview/llconversationview.h
index 879d496dc76fb541564b7e172070f22f6a57b8ba..5a74974302678e5978472ad74a926b00743a83ee 100755
--- a/indra/newview/llconversationview.h
+++ b/indra/newview/llconversationview.h
@@ -69,6 +69,7 @@ class LLConversationViewSession : public LLFolderViewFolder
 	/*virtual*/ void draw();
 	/*virtual*/ BOOL handleMouseDown( S32 x, S32 y, MASK mask );
 	/*virtual*/ BOOL handleRightMouseDown( S32 x, S32 y, MASK mask );
+	/*virtual*/ BOOL handleMouseUp( S32 x, S32 y, MASK mask );
 
 	/*virtual*/ S32 arrange(S32* width, S32* height);