diff --git a/src/conference.cpp b/src/conference.cpp
index 88550b8eebe5355240196e4f82eccbb5a98c7f0d..b7031719d6c4011dd6991c4fa4be11283b098462 100644
--- a/src/conference.cpp
+++ b/src/conference.cpp
@@ -91,7 +91,11 @@ Conference::Conference()
                                  and not videoMixer->getActiveParticipant()); // by default, local
                                                                               // is shown as active
                 subCalls.erase(it->second);
-                auto isModerator = shared->isModerator(uri);
+                auto partURI = uri;
+                auto separator = partURI.find('@');
+                if (separator != std::string::npos)
+                    partURI = partURI.substr(0, separator);
+                auto isModerator = shared->isModerator(partURI);
                 newInfo.emplace_back(ParticipantInfo {std::move(uri),
                                                       active,
                                                       info.x,