diff --git a/smack-extensions/src/main/java/org/jivesoftware/smackx/muc/MultiUserChat.java b/smack-extensions/src/main/java/org/jivesoftware/smackx/muc/MultiUserChat.java index 6e10a66ea..78d725508 100644 --- a/smack-extensions/src/main/java/org/jivesoftware/smackx/muc/MultiUserChat.java +++ b/smack-extensions/src/main/java/org/jivesoftware/smackx/muc/MultiUserChat.java @@ -259,23 +259,24 @@ public class MultiUserChat { listener.left(from); } } + } - Destroy destroy = mucUser.getDestroy(); - // The room has been destroyed. - if (destroy != null) { - EntityBareJid alternateMucJid = destroy.getJid(); - final MultiUserChat alternateMuc; - if (alternateMucJid == null) { - alternateMuc = null; - } else { - alternateMuc = multiUserChatManager.getMultiUserChat(alternateMucJid); - } + Destroy destroy = mucUser.getDestroy(); + // The room has been destroyed. + if (destroy != null) { + EntityBareJid alternateMucJid = destroy.getJid(); + final MultiUserChat alternateMuc; + if (alternateMucJid == null) { + alternateMuc = null; + } else { + alternateMuc = multiUserChatManager.getMultiUserChat(alternateMucJid); + } - for (UserStatusListener listener : userStatusListeners) { - listener.roomDestroyed(alternateMuc, destroy.getReason()); - } + for (UserStatusListener listener : userStatusListeners) { + listener.roomDestroyed(alternateMuc, destroy.getReason()); } } + if (isUserStatusModification) { for (UserStatusListener listener : userStatusListeners) { listener.removed(mucUser, presence);