diff --git a/src/main/java/eu/siacs/conversations/entities/Conversation.java b/src/main/java/eu/siacs/conversations/entities/Conversation.java index b27d15ab85d708dc517f852725497e8598c9d8b9..65721ee1fe64d70a0ede127df53b27e4352a26cf 100644 --- a/src/main/java/eu/siacs/conversations/entities/Conversation.java +++ b/src/main/java/eu/siacs/conversations/entities/Conversation.java @@ -635,9 +635,10 @@ public class Conversation extends AbstractEntity implements Blockable, Comparabl Set extraIds = new HashSet<>(); for (ListIterator iterator = messages.listIterator(messages.size()); iterator.hasPrevious(); ) { Message m = iterator.previous(); - if (m.wasMergedIntoPrevious() || (getLockThread() && !extraIds.contains(m.replyId()) && (m.getThread() == null || !m.getThread().getContent().equals(getThread().getContent())))) { + final Element mthread = m.getThread(); + if (m.wasMergedIntoPrevious() || (getLockThread() && !extraIds.contains(m.replyId()) && (mthread == null || !mthread.getContent().equals(getThread() == null ? "" : getThread().getContent())))) { iterator.remove(); - } else if (getLockThread() && m.getThread() != null) { + } else if (getLockThread() && mthread != null) { Element reply = m.getReply(); if (reply != null && reply.getAttribute("id") != null) extraIds.add(reply.getAttribute("id")); Element reactions = m.getReactions();