diff --git a/src/conversationmodel.cpp b/src/conversationmodel.cpp
index 04fbe6675f78c2db643975fbf5644cd055a0f745..7d1712eae79cea3909b5c3925b601e5cbb5f3570 100644
--- a/src/conversationmodel.cpp
+++ b/src/conversationmodel.cpp
@@ -3078,16 +3078,15 @@ ConversationModelPimpl::slotCallStatusChanged(const QString& callId, int code)
                     conversation.callId = callId;
                     // Update interaction status
                     invalidateModel();
+                    emit linked.selectConversation(conversation.uid);
                     emit linked.conversationUpdated(conversation.uid);
                     Q_EMIT linked.dataChanged(indexOf(conversation.uid));
                 }
             }
         } else if (i != conversations.end()) {
-            if (call.status == call::Status::PEER_BUSY) {
-                emit behaviorController.showLeaveMessageView(linked.owner.id, i->uid);
-            }
             // Update interaction status
             invalidateModel();
+            emit linked.selectConversation(i->uid);
             emit linked.conversationUpdated(i->uid);
             Q_EMIT linked.dataChanged(indexOf(i->uid));
         }