if ((numslots - buffer.size()) < FREE_SLOTS) {
//have to check whether we have enough free slots
- seqn = buffer.getNewestSeqNum() + 1 - numslots;
+ long fullfirstseqn = buffer.getNewestSeqNum() + 1 - numslots;
+ seqn = fullfirstseqn < 1 ? 1: fullfirstseqn;
for(int i=0; i < FREE_SLOTS; i++, seqn++) {
Slot prevslot=buffer.getSlot(seqn);
if (!prevslot.isLive())