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 3f6f453a5..8dc187cc7 100644 --- a/smack-core/src/main/java/org/jivesoftware/smack/AbstractXMPPConnection.java +++ b/smack-core/src/main/java/org/jivesoftware/smack/AbstractXMPPConnection.java @@ -1108,7 +1108,9 @@ public abstract class AbstractXMPPConnection implements XMPPConnection { @Override public void run() { boolean removed = removePacketListener(packetListener); - if (!removed) { + // If the packetListener got removed, then it was never run and + // we never received a response, inform the exception callback + if (removed && exceptionCallback != null) { exceptionCallback.processException(new NoResponseException()); } }