diff --git a/src/main/java/com/ericsson/gerrit/plugins/highavailability/index/ChangeCheckerImpl.java b/src/main/java/com/ericsson/gerrit/plugins/highavailability/index/ChangeCheckerImpl.java
index e4de705..32d425d 100644
--- a/src/main/java/com/ericsson/gerrit/plugins/highavailability/index/ChangeCheckerImpl.java
+++ b/src/main/java/com/ericsson/gerrit/plugins/highavailability/index/ChangeCheckerImpl.java
@@ -27,7 +27,6 @@
 import com.google.inject.assistedinject.Assisted;
 import java.io.IOException;
 import java.time.Instant;
-import java.util.Objects;
 import java.util.Optional;
 import org.eclipse.jgit.lib.ObjectId;
 import org.eclipse.jgit.lib.Ref;
@@ -101,8 +100,8 @@
         try (Repository repo = gitRepoMgr.openRepository(changeNotes.get().getProjectName())) {
           IndexEvent indexEvent = indexEventOption.get();
           return computedChangeTs.get().compareTo(indexEvent.eventCreatedOn) >= 0
-              && (Objects.isNull(indexEvent.targetSha) || repositoryHas(repo, indexEvent.targetSha))
-              && (Objects.isNull(indexEvent.metaSha) || repositoryHas(repo, indexEvent.metaSha));
+              && (indexEvent.targetSha == null || repositoryHas(repo, indexEvent.targetSha))
+              && (indexEvent.metaSha == null || repositoryHas(repo, indexEvent.metaSha));
         }
       }
       return true;
