diff --git a/raft/src/main/java/net/kuujo/copycat/raft/state/LeaderState.java b/raft/src/main/java/net/kuujo/copycat/raft/state/LeaderState.java
index <HASH>..<HASH> 100644
--- a/raft/src/main/java/net/kuujo/copycat/raft/state/LeaderState.java
+++ b/raft/src/main/java/net/kuujo/copycat/raft/state/LeaderState.java
@@ -956,11 +956,7 @@ class LeaderState extends ActiveState {
        * Resets the match index when a response fails.
        */
       private void resetMatchIndex(AppendResponse response) {
-        if (state.getMatchIndex() == 0) {
-          state.setMatchIndex(response.logIndex());
-        } else if (response.logIndex() != 0) {
-          state.setMatchIndex(Math.max(state.getMatchIndex(), response.logIndex()));
-        }
+        state.setMatchIndex(response.logIndex());
         LOGGER.debug("{} - Reset match index for {} to {}", context.getCluster().member().id(), member, state.getMatchIndex());
       }
Always set follower's matchIndex according to AppendEntries response logIndex.