diff --git a/src/libclient/conversationmodel.cpp b/src/libclient/conversationmodel.cpp
index 55d703c84c8f6c2cc3dc24e58cfa377943fca665..30c16fabe8d97699508657e27db9d6aa9b1d6ff6 100644
--- a/src/libclient/conversationmodel.cpp
+++ b/src/libclient/conversationmodel.cpp
@@ -1031,12 +1031,11 @@ QString
 ConversationModel::createConversation(const VectorString& participants, const MapStringString& infos)
 {
     auto convUid = ConfigurationManager::instance().startConversation(owner.id);
+    pimpl_->addSwarmConversation(convUid);
     if (!infos.isEmpty())
         updateConversationInfos(convUid, infos);
-    for (const auto& participant : participants) {
+    for (const auto& participant : participants)
         ConfigurationManager::instance().addConversationMember(owner.id, convUid, participant);
-    }
-    pimpl_->addSwarmConversation(convUid);
     Q_EMIT newConversation(convUid);
     pimpl_->invalidateModel();
     Q_EMIT modelChanged();