diff --git a/quickfixj-core/src/main/java/quickfix/Session.java b/quickfixj-core/src/main/java/quickfix/Session.java index f99b42d37a..a8528dd318 100644 --- a/quickfixj-core/src/main/java/quickfix/Session.java +++ b/quickfixj-core/src/main/java/quickfix/Session.java @@ -2345,7 +2345,11 @@ private void nextLogon(Message logon) throws FieldNotFound, RejectLogon, Incorre private void resendMessages(Message receivedMessage, int beginSeqNo, int endSeqNo) throws IOException, InvalidMessage, FieldNotFound { - + int lastEndSeqNoSent = resendRequestChunkSize == 0 ? endSeqNo : beginSeqNo + resendRequestChunkSize - 1; + if (lastEndSeqNoSent > endSeqNo) { + lastEndSeqNoSent = endSeqNo; + } + endSeqNo = lastEndSeqNoSent; final ArrayList messages = new ArrayList<>(); try { state.get(beginSeqNo, endSeqNo, messages);