diff --git a/src/main/java/com/criteo/gerrit/plugins/automerge/AutomaticMerger.java b/src/main/java/com/criteo/gerrit/plugins/automerge/AutomaticMerger.java
index 0419213..113b8e9 100644
--- a/src/main/java/com/criteo/gerrit/plugins/automerge/AutomaticMerger.java
+++ b/src/main/java/com/criteo/gerrit/plugins/automerge/AutomaticMerger.java
@@ -241,13 +241,12 @@
   private void processNewAtomicPatchSet(Change change) {
     try {
       checkReviewExists(change.number);
+      log.info(String.format("Detected atomic review on change %d.", change.number));
+      reviewUpdater.commentOnReview(change.project, change.number, config.atomicReviewDetected.getContent());
       if (atomicityHelper.hasDependentReview(change.project, change.number)) {
-        log.info(String.format("Warn the user by setting -1 on change %d, as other atomic changes exists on the same repository.",
+        log.info(String.format("Warn the user on change %d, as other atomic changes exists on the same repository.",
             change.number));
-        reviewUpdater.setMinusOne(change.project, change.number, config.atomicReviewsSameRepo.getContent());
-      } else {
-        log.info(String.format("Detected atomic review on change %d.", change.number));
-        reviewUpdater.commentOnReview(change.project, change.number, config.atomicReviewDetected.getContent());
+        reviewUpdater.commentOnReview(change.project, change.number, config.atomicReviewsSameRepo.getContent());
       }
     } catch (RestApiException | IOException | OrmException | UpdateException e) {
       throw new RuntimeException(e);
diff --git a/src/main/java/com/criteo/gerrit/plugins/automerge/ReviewUpdater.java b/src/main/java/com/criteo/gerrit/plugins/automerge/ReviewUpdater.java
index ee95240..691e1a1 100644
--- a/src/main/java/com/criteo/gerrit/plugins/automerge/ReviewUpdater.java
+++ b/src/main/java/com/criteo/gerrit/plugins/automerge/ReviewUpdater.java
@@ -36,11 +36,6 @@
     applyComment(project, number, reviewInput);
   }
 
-  public void setMinusOne(String project, int number, String comment) throws RestApiException, OrmException, IOException, UpdateException {
-    ReviewInput message = createComment(comment).label("Code-Review", -1);
-    applyComment(project, number, message);
-  }
-
   private ReviewInput createComment(String comment) {
     return new ReviewInput().message(commentsPrefix + comment);
   }
diff --git a/test.rb b/test.rb
index 3b0782e..ddc29f5 100755
--- a/test.rb
+++ b/test.rb
@@ -48,7 +48,7 @@
   def test_crossrepo_topic_1_repo_over_not_merged_commit
     commit0 = create_review(PROJECT1, "review0 on #{PROJECT1}")
     commit0b = create_review(PROJECT1, "review0b on #{PROJECT1}", "crossrepo/topic1")
-    check_label(commit0b, "Code-Review", "-1")
+
     check_last_message_contains(commit0b, "This cross-repo review depends on a not merged commit")
   end
 
