diff --git a/indra/newview/llimview.cpp b/indra/newview/llimview.cpp
index ddfcd68e382043cdf1df43b5b37dd86d9cbc6be1..6d3998bb96014be743e66cac89321284c341f2e4 100644
--- a/indra/newview/llimview.cpp
+++ b/indra/newview/llimview.cpp
@@ -1898,8 +1898,6 @@ BOOL LLIncomingCallDialog::postBuild()
 	
 	// check to see if this is an Avaline call
 	bool is_avatar = LLVoiceClient::getInstance()->isParticipantAvatar(session_id);
-	childSetVisible("Start IM", is_avatar); // no IM for avaline
-
 	if (caller_name == "anonymous")
 	{
 		caller_name = getString("anonymous");
@@ -1931,6 +1929,10 @@ BOOL LLIncomingCallDialog::postBuild()
 		mLifetimeTimer.stop();
 	}
 
+	//it's not possible to connect to existing Ad-Hoc chat through incoming ad-hoc call
+	//and no IM for avaline
+	childSetVisible("Start IM", is_avatar && notify_box_type != "VoiceInviteAdHoc");
+
 	setCanDrag(FALSE);
 
 	return TRUE;