diff --git a/src/calladapter.cpp b/src/calladapter.cpp
index b4f9a6625c3d62a87bc2ef01566e5ce4c0d6bb9f..caefa31fbb017da5390b09824783fcd23c525030 100644
--- a/src/calladapter.cpp
+++ b/src/calladapter.cpp
@@ -495,17 +495,10 @@ CallAdapter::fillParticipantData(QMap<QString, QString> participant)
     if (bestName == accInfo.profileInfo.uri) {
         bestName = tr("me");
         data["isLocal"] = true;
-        if (participant["videoMuted"] == "true")
-            data["avatar"] = accInfo.profileInfo.avatar;
     } else {
         try {
-            auto& contact = lrcInstance_->getCurrentAccountInfo().contactModel->getContact(
-                participant["uri"]);
             bestName = lrcInstance_->getCurrentAccountInfo().contactModel->bestNameForContact(
                 participant["uri"]);
-            if (participant["videoMuted"] == "true")
-                data["avatar"] = contact.profileInfo.avatar;
-            data["isContact"] = true;
         } catch (...) {
         }
     }
diff --git a/src/mainview/components/ParticipantOverlay.qml b/src/mainview/components/ParticipantOverlay.qml
index dc7aad32e27c9d3d1ba22e9a70594357109dccba..a223b417865b1cbe90f87eedef71470db463af84 100644
--- a/src/mainview/components/ParticipantOverlay.qml
+++ b/src/mainview/components/ParticipantOverlay.qml
@@ -52,20 +52,18 @@ Item {
 
     z: 1
 
-    function setAvatar(show, base64, uri, local, isContact) {
+    function setAvatar(show, uri, isLocal) {
         if (!show)
-            contactImage.visible = false
+            avatar.visible = false
         else {
-            if (local) {
-                contactImage.imageId = LRCInstance.currentAccountId
-            } else if (isContact) {
-                contactImage.avatarMode = AvatarImage.AvatarMode.FromContactUri
-                contactImage.updateImage(uri)
+            if (isLocal) {
+                avatar.mode = Avatar.Mode.Account
+                avatar.imageId = LRCInstance.currentAccountId
             } else {
-                contactImage.avatarMode = AvatarImage.AvatarMode.FromTemporaryName
-                contactImage.updateImage(uri)
+                avatar.mode = Avatar.Mode.Contact
+                avatar.imageId = uri
             }
-            contactImage.visible = true
+            avatar.visible = true
         }
     }
 
@@ -169,8 +167,8 @@ Item {
         }
     }
 
-    ConversationAvatar {
-        id: contactImage
+    Avatar {
+        id: avatar
 
         anchors.centerIn: parent
         height:  Math.min(parent.width / 2, parent.height / 2)
diff --git a/src/mainview/components/ParticipantsLayer.qml b/src/mainview/components/ParticipantsLayer.qml
index a147611a25718e1ee01496b97fbb608d2f5df612..993f1f7be0cdbfdb716f0030b7674ea46ebffa2f 100644
--- a/src/mainview/components/ParticipantsLayer.qml
+++ b/src/mainview/components/ParticipantsLayer.qml
@@ -77,7 +77,7 @@ Item {
                     participantOverlays[p].setMenu(participant.uri, participant.bestName,
                                                    participant.isLocal, participant.active, showMax)
                     if (participant.videoMuted)
-                        participantOverlays[p].setAvatar(true, participant.avatar, participant.uri, participant.isLocal, participant.isContact)
+                        participantOverlays[p].setAvatar(true, participant.uri, participant.isLocal)
                     else
                         participantOverlays[p].setAvatar(false)
                     currentUris.push(participantOverlays[p].uri)
@@ -120,7 +120,7 @@ Item {
                     hover.setMenu(infos[infoVariant].uri, infos[infoVariant].bestName,
                                   infos[infoVariant].isLocal, infos[infoVariant].active, showMax)
                     if (infos[infoVariant].videoMuted)
-                        hover.setAvatar(true, infos[infoVariant].avatar, infos[infoVariant].uri, infos[infoVariant].isLocal, infos[infoVariant].isContact)
+                        hover.setAvatar(true, infos[infoVariant].uri, infos[infoVariant].isLocal)
                     else
                         hover.setAvatar(false)
                     participantOverlays.push(hover)
diff --git a/src/utils.cpp b/src/utils.cpp
index ddb03be5f81bb89931464ba5ec6e83c61ad9b43a..c707784f5bb1820fc54e951940ed6b3f403ab509 100644
--- a/src/utils.cpp
+++ b/src/utils.cpp
@@ -376,7 +376,8 @@ Utils::contactPhoto(LRCInstance* instance,
             photo = Utils::fallbackAvatar("ring:" + contactInfo.profileInfo.uri, avatarName);
         }
     } catch (const std::exception& e) {
-        qDebug() << Q_FUNC_INFO << e.what();
+        qDebug() << e.what() << "; Using default avatar";
+        photo = fallbackAvatar("jami:" + contactUri, QString(), size);
     }
     return Utils::scaleAndFrame(photo, size);
 }