diff --git a/indra/newview/llimview.cpp b/indra/newview/llimview.cpp
index b6032f4dfaae8677b71e06d18b518c995f961e86..32482a065c345763242305a0b8f921338c764321 100644
--- a/indra/newview/llimview.cpp
+++ b/indra/newview/llimview.cpp
@@ -1517,6 +1517,15 @@ void LLCallDialog::draw()
 	}
 }
 
+// virtual
+void LLCallDialog::onOpen(const LLSD& key)
+{
+	LLDockableFloater::onOpen(key);
+
+	// it should be over the all floaters. EXT-5116
+	gFloaterView->bringToFront(this);
+}
+
 void LLCallDialog::setIcon(const LLSD& session_id, const LLSD& participant_id)
 {
 	// *NOTE: 12/28/2009: check avaline calls: LLVoiceClient::isParticipantAvatar returns false for them
diff --git a/indra/newview/llimview.h b/indra/newview/llimview.h
index 1c7aaa3f1bc12260bbdb5873f0eba2646898480f..21c7626109146b4d6c0664c83d878f87833b2509 100644
--- a/indra/newview/llimview.h
+++ b/indra/newview/llimview.h
@@ -472,6 +472,7 @@ class LLCallDialog : public LLDockableFloater
 
 	// check timer state
 	/*virtual*/ void draw();
+	/*virtual*/ void onOpen(const LLSD& key);
 
 protected:
 	// lifetime timer for a notification