diff --git a/src/messagesadapter.cpp b/src/messagesadapter.cpp
index 479aff2e7cc96587d4fbca6f015d1e809d8956eb..25f9121830104d7e165922e1ee1c448b7491bd76 100644
--- a/src/messagesadapter.cpp
+++ b/src/messagesadapter.cpp
@@ -54,7 +54,10 @@ MessagesAdapter::MessagesAdapter(AppSettingsManager* settingsManager,
         const auto& conversation = lrcInstance_->getConversationFromConvUid(convId);
         filteredMsgListModel_->setSourceModel(conversation.interactions.get());
         set_messageListModel(QVariant::fromValue(filteredMsgListModel_));
-        set_currentConvComposingList({});
+        if (!conversation.typers.empty())
+            set_currentConvComposingList(conversationTypersUrlToName(conversation.typers));
+        else
+            set_currentConvComposingList({});
     });
 
     connect(previewEngine_, &PreviewEngine::infoReady, this, &MessagesAdapter::onPreviewInfoReady);
@@ -434,15 +437,24 @@ MessagesAdapter::onComposingStatusChanged(const QString& convId,
                                           const QString& contactUri,
                                           bool isComposing)
 {
+    Q_UNUSED(contactUri)
     if (lrcInstance_->get_selectedConvUid() == convId) {
-        auto name = lrcInstance_->getCurrentContactModel()->bestNameForContact(contactUri);
-        if (isComposing)
-            currentConvComposingList_.append(name);
-        else
-            currentConvComposingList_.removeOne(name);
+        const QString& accId = lrcInstance_->get_currentAccountId();
+        auto& conversation = lrcInstance_->getConversationFromConvUid(convId, accId);
+        set_currentConvComposingList(conversationTypersUrlToName(conversation.typers));
+    }
+}
 
-        Q_EMIT currentConvComposingListChanged();
+QList<QString>
+MessagesAdapter::conversationTypersUrlToName(const QSet<QString>& typersSet)
+{
+    QList<QString> nameList;
+    for (const auto& id : typersSet) {
+        auto name = lrcInstance_->getCurrentContactModel()->bestNameForContact(id);
+        nameList.append(name);
     }
+
+    return nameList;
 }
 
 bool
diff --git a/src/messagesadapter.h b/src/messagesadapter.h
index e6717ef4c39094c119df3c4915cadea236f8ae1f..bfa4e6279d1f5cd6292991065966e7b2bad08215 100644
--- a/src/messagesadapter.h
+++ b/src/messagesadapter.h
@@ -129,6 +129,8 @@ private Q_SLOTS:
                                   bool isComposing);
 
 private:
+    QList<QString> conversationTypersUrlToName(const QSet<QString>& typersSet);
+
     AppSettingsManager* settingsManager_;
     PreviewEngine* previewEngine_;
     FilteredMsgListModel* filteredMsgListModel_;