diff --git a/src/api/conversationmodel.h b/src/api/conversationmodel.h
index 98dd81072de69f15c61e1d1f07023aa32a52fe0a..9ac2b50c227507ff52b7c12a6c8b9829b7c57f93 100644
--- a/src/api/conversationmodel.h
+++ b/src/api/conversationmodel.h
@@ -385,6 +385,12 @@ public:
      * @return the description to display
      */
     QString description(const QString& conversationId) const;
+    /**
+     * Get conversation's avatar.
+     * @param conversationId
+     * @return the avatar to display
+     */
+    QString avatar(const QString& conversationId) const;
 
     /**
      * Get member's role in conversation
diff --git a/src/conversationmodel.cpp b/src/conversationmodel.cpp
index 72048e0df8fd8f897d4a866aaaa4a5a5dde5abaf..88100f393b0a59baf46a3491dee7c3d067e7abb7 100644
--- a/src/conversationmodel.cpp
+++ b/src/conversationmodel.cpp
@@ -1081,6 +1081,17 @@ ConversationModel::description(const QString& conversationId) const
     return conversation.infos["description"];
 }
 
+QString
+ConversationModel::avatar(const QString& conversationId) const
+{
+    auto conversationOpt = getConversationForUid(conversationId);
+    if (!conversationOpt.has_value()) {
+        return {};
+    }
+    auto& conversation = conversationOpt->get();
+    return conversation.infos["avatar"];
+}
+
 void
 ConversationModel::sendMessage(const QString& uid, const QString& body, const QString& parentId)
 {
@@ -2228,7 +2239,7 @@ ConversationModelPimpl::slotConversationLoaded(uint32_t requestId,
 
     try {
         auto& conversation = getConversationForUid(conversationId).get();
-        for (const auto& message: messages) {
+        for (const auto& message : messages) {
             if (message["type"].isEmpty() || message["type"] == "application/update-profile") {
                 continue;
             }