diff --git a/aeron-driver/src/main/java/io/aeron/driver/PublicationImage.java b/aeron-driver/src/main/java/io/aeron/driver/PublicationImage.java index 67b7f89dc6..522c9c12c4 100644 --- a/aeron-driver/src/main/java/io/aeron/driver/PublicationImage.java +++ b/aeron-driver/src/main/java/io/aeron/driver/PublicationImage.java @@ -696,8 +696,9 @@ int sendPendingStatusMessage(final long nowNs) int workCount = 0; final long changeNumber = endSmChange; final boolean hasSmTimedOut = (timeOfLastSmNs + smTimeoutNs) - nowNs < 0; + final Integer responseSessionId; - if (null != responseSessionId && hasSmTimedOut) + if (hasSmTimedOut && null != (responseSessionId = this.responseSessionId)) { channelEndpoint.sendResponseSetup(imageConnections, sessionId, streamId, responseSessionId); }