diff --git a/src/main/java/eu/siacs/conversations/entities/MucOptions.java b/src/main/java/eu/siacs/conversations/entities/MucOptions.java index 7aae196a8..2a751d95e 100644 --- a/src/main/java/eu/siacs/conversations/entities/MucOptions.java +++ b/src/main/java/eu/siacs/conversations/entities/MucOptions.java @@ -250,12 +250,13 @@ public class MucOptions { old = findUserByRealJid(user.realJid); realJidFound = old != null; synchronized (users) { - if (old != null && old.fullJid == null) { + if (old != null && (old.fullJid == null || old.role == Role.NONE)) { users.remove(old); } } } old = findUserByFullJid(user.getFullJid()); + synchronized (this.users) { if (old != null) { users.remove(old);