diff --git a/server/src/main/java/io/atomix/copycat/server/state/ServerSessionContext.java b/server/src/main/java/io/atomix/copycat/server/state/ServerSessionContext.java
index <HASH>..<HASH> 100644
--- a/server/src/main/java/io/atomix/copycat/server/state/ServerSessionContext.java
+++ b/server/src/main/java/io/atomix/copycat/server/state/ServerSessionContext.java
@@ -640,7 +640,7 @@ class ServerSessionContext implements ServerSession {
     PublishRequest request = PublishRequest.builder()
       .withSession(id())
       .withEventIndex(event.eventIndex)
-      .withPreviousIndex(event.previousIndex)
+      .withPreviousIndex(Math.max(event.previousIndex, completeIndex))
       .withEvents(event.events)
       .build();
Ensure EventHolder previousIndex is >= completeIndex