diff --git a/src/libclient/callmodel.cpp b/src/libclient/callmodel.cpp
index 77e24361318504943bc7e465287c6418459afef8..93afd54195cb56ad7e784fc176ead71cb333f959 100644
--- a/src/libclient/callmodel.cpp
+++ b/src/libclient/callmodel.cpp
@@ -523,6 +523,9 @@ CallModel::addMedia(const QString& callId, const QString& source, MediaRequestTy
         proposedList.push_back(mediaAttribute);
 
     CallManager::instance().requestMediaChange(owner.id, callId, proposedList);
+    callInfo->mediaList = proposedList;
+    if (callInfo->status == call::Status::IN_PROGRESS)
+            Q_EMIT callInfosChanged(owner.id, callId);
 }
 
 void
@@ -587,6 +590,9 @@ CallModel::removeMedia(const QString& callId,
         pimpl_->lrc.getAVModel().stopPreview(label);
 
     CallManager::instance().requestMediaChange(owner.id, callId, proposedList);
+    callInfo->mediaList = proposedList;
+    if (callInfo->status == call::Status::IN_PROGRESS)
+            Q_EMIT callInfosChanged(owner.id, callId);
 }
 
 void