Index: core/src/main/java/quickfix/Session.java =================================================================== --- core/src/main/java/quickfix/Session.java (revision 1052) +++ core/src/main/java/quickfix/Session.java (working copy) @@ -2314,13 +2314,15 @@ private boolean send(String messageString) { getLog().onOutgoing(messageString); + Responder responder; synchronized (responderSync) { - if (!hasResponder()) { - getLog().onEvent("No responder, not sending message: " + messageString); - return false; - } - return getResponder().send(messageString); + responder = this.responder; } + if (responder == null) { + getLog().onEvent("No responder, not sending message: " + messageString); + return false; + } + return responder.send(messageString); } private boolean isCorrectCompID(String senderCompID, String targetCompID) {