diff --git a/src/main/java/eu/siacs/conversations/services/XmppConnectionService.java b/src/main/java/eu/siacs/conversations/services/XmppConnectionService.java index 2e9e1c3664cbdb4d889919d59bf563f4084b3650..4fb57a59ab06815c358548fd8a03946e3dd51ae3 100644 --- a/src/main/java/eu/siacs/conversations/services/XmppConnectionService.java +++ b/src/main/java/eu/siacs/conversations/services/XmppConnectionService.java @@ -2341,7 +2341,11 @@ public class XmppConnectionService extends Service { MucOptions.User user = AbstractParser.parseItem(conversation, child); if (!user.realJidMatchesAccount()) { boolean isNew = conversation.getMucOptions().updateUser(user); - if (isNew && user.getRealJid() != null && axolotlService.hasEmptyDeviceList(user.getRealJid())) { + Contact contact = user.getContact(); + if (isNew + && user.getRealJid() != null + && (contact == null || !contact.mutualPresenceSubscription()) + && axolotlService.hasEmptyDeviceList(user.getRealJid())) { axolotlService.fetchDeviceIds(user.getRealJid()); } }