diff --git a/src/calladapter.cpp b/src/calladapter.cpp
index b2c1d29c367ba35c9035d303b8f44eeb8a22e322..ed1f2405cb7ed5c316c69064628263998ac3c5fa 100644
--- a/src/calladapter.cpp
+++ b/src/calladapter.cpp
@@ -31,7 +31,8 @@ CallAdapter::CallAdapter(QObject* parent)
     : QmlAdapterBase(parent)
     , oneSecondTimer_(new QTimer(this))
 {
-    connectCallModel(LRCInstance::getCurrAccId());
+    accountId_ = LRCInstance::getCurrAccId();
+    connectCallModel(accountId_);
 
     connect(&LRCInstance::behaviorController(),
             &BehaviorController::showIncomingCallView,
@@ -50,7 +51,8 @@ CallAdapter::CallAdapter(QObject* parent)
 void
 CallAdapter::slotAccountChanged()
 {
-    connectCallModel(LRCInstance::getCurrAccId());
+    accountId_ = LRCInstance::getCurrAccId();
+    connectCallModel(accountId_);
 }
 
 void
@@ -431,7 +433,7 @@ CallAdapter::connectCallModel(const QString& accountId)
                     accInfo.conversationModel->selectConversation(convInfo.uid);
                 }
                 LRCInstance::renderer()->addDistantRenderer(callId);
-                updateCall();
+                updateCall(convInfo.uid, accountId);
                 LRCInstance::getAccountInfo(accountId).callModel->setCurrentCall(callId);
                 break;
             }