diff --git a/smack-core/src/main/java/org/jivesoftware/smack/AbstractXMPPConnection.java b/smack-core/src/main/java/org/jivesoftware/smack/AbstractXMPPConnection.java index b75e937a5..bdfa066a2 100644 --- a/smack-core/src/main/java/org/jivesoftware/smack/AbstractXMPPConnection.java +++ b/smack-core/src/main/java/org/jivesoftware/smack/AbstractXMPPConnection.java @@ -1494,6 +1494,7 @@ public abstract class AbstractXMPPConnection implements XMPPConnection { final StanzaListener packetListener = new StanzaListener() { @Override public void processStanza(Stanza packet) throws NotConnectedException, InterruptedException { + removeAsyncStanzaListener(this); try { XMPPErrorException.ifHasErrorThenThrow(packet); callback.processStanza(packet); @@ -1503,9 +1504,6 @@ public abstract class AbstractXMPPConnection implements XMPPConnection { exceptionCallback.processException(e); } } - finally { - removeAsyncStanzaListener(this); - } } }; removeCallbacksService.schedule(new Runnable() {