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 9c519b5..4801546 100644
--- a/src/main/java/com/criteo/gerrit/plugins/automerge/AutomaticMerger.java
+++ b/src/main/java/com/criteo/gerrit/plugins/automerge/AutomaticMerger.java
@@ -25,6 +25,7 @@
 import com.google.gerrit.server.change.GetRelated;
 import com.google.gerrit.server.change.PostReview;
 import com.google.gerrit.server.change.Submit;
+import com.google.gerrit.server.data.ApprovalAttribute;
 import com.google.gerrit.server.data.ChangeAttribute;
 import com.google.gerrit.server.events.ChangeEvent;
 import com.google.gerrit.server.events.CommentAddedEvent;
@@ -110,14 +111,7 @@
   }
 
   private void onCommendAdded(final CommentAddedEvent newComment) {
-    // Avoid infinite loop when this plugin comments the review.
-    //
-    // A plugin comment will typically look like:
-    // Patch Set 1:
-    //
-    // Cross-repo comment:
-    // ...
-    if (config.getBotEmail().equals(newComment.author.email) && newComment.comment.contains(config.getCommentPrefix())) {
+    if (!shouldProcessCommentEvent(newComment)) {
       return;
     }
 
@@ -135,6 +129,26 @@
     }
   }
 
+  /**
+   * Returns true if the plugin must handle this comment, i.e. if we are sure it does not come
+   * from this plugin (to avoid infinite loop).
+   *
+   * @param comment
+   * @return a boolean
+   */
+  private boolean shouldProcessCommentEvent(CommentAddedEvent comment) {
+    if (!config.getBotEmail().equals(comment.author.email)) {
+      return true;
+    }
+    for (ApprovalAttribute approval : comment.approvals) {
+      // See ReviewUpdate#setMinusOne
+      if (!("Code-Review".equals(approval.type) && "-1".equals(approval.value))) {
+        return true;
+      }
+    }
+    return false;
+  }
+
   private void attemptToMerge(ChangeAttribute change) throws RestApiException, OrmException, NoSuchChangeException, IOException {
     final List<ChangeInfo> related = Lists.newArrayList();
     final String topic = change.topic;
diff --git a/src/main/java/com/criteo/gerrit/plugins/automerge/AutomergeConfig.java b/src/main/java/com/criteo/gerrit/plugins/automerge/AutomergeConfig.java
index 3ff8c17..135c8df 100644
--- a/src/main/java/com/criteo/gerrit/plugins/automerge/AutomergeConfig.java
+++ b/src/main/java/com/criteo/gerrit/plugins/automerge/AutomergeConfig.java
@@ -21,8 +21,6 @@
   private final static String defaultBotEmail = "qabot@criteo.com";
   private final static String defaultTopicPrefix = "crossrepo/";
   public final static String TOPIC_PREFIX_KEY = "topicPrefix";
-  private final static String defaultCommentPrefix = "Cross-repo comment:" + System.lineSeparator();
-  public final static String COMMENT_PREFIX_KEY = "commitPrefix";
 
   public static final String getDefaultBotEmail() {
     return defaultBotEmail;
@@ -35,7 +33,6 @@
   private String botEmail;
   private final File templatesPath;
   private String topicPrefix;
-  private String commentPrefix;
 
   @Inject
   public AutomergeConfig(@GerritServerConfig final Config config, final SitePaths paths) {
@@ -47,10 +44,6 @@
     if (topicPrefix == null) {
       topicPrefix = defaultTopicPrefix;
     }
-    commentPrefix = config.getString(AUTOMERGE_SECTION, null, COMMENT_PREFIX_KEY);
-    if (commentPrefix == null) {
-      commentPrefix = defaultCommentPrefix;
-    }
 
     templatesPath = paths.etc_dir;
   }
@@ -73,8 +66,4 @@
   public final String getTopicPrefix() {
     return topicPrefix;
   }
-
-  public String getCommentPrefix() {
-    return commentPrefix;
-  }
 }
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 ef6a7a1..32c05fe 100644
--- a/src/main/java/com/criteo/gerrit/plugins/automerge/ReviewUpdater.java
+++ b/src/main/java/com/criteo/gerrit/plugins/automerge/ReviewUpdater.java
@@ -3,7 +3,10 @@
 import com.google.common.base.Charsets;
 import com.google.common.io.Files;
 import com.google.gerrit.extensions.api.changes.ReviewInput;
+import com.google.gerrit.extensions.restapi.AuthException;
+import com.google.gerrit.extensions.restapi.BadRequestException;
 import com.google.gerrit.extensions.restapi.RestApiException;
+import com.google.gerrit.extensions.restapi.UnprocessableEntityException;
 import com.google.gerrit.reviewdb.server.ReviewDb;
 import com.google.gerrit.server.change.PostReview;
 import com.google.gerrit.server.change.RevisionResource;
@@ -38,33 +41,32 @@
   private AtomicityHelper atomicityHelper;
 
   public void commentOnReview(final int number, final String commentTemplate) throws RestApiException, OrmException, IOException, NoSuchChangeException {
-    final ReviewInput message = createCrossrepoComment(commentTemplate);
-    final RevisionResource r = atomicityHelper.getRevisionResource(number);
-    reviewer.get().apply(r, message);
-  }
-
-  private final String getCommentFromFile(final String filename) {
-    try {
-      return Files.toString(new File(config.getTemplatesPath(), filename), Charsets.UTF_8);
-
-    } catch (final IOException exc) {
-      final String errmsg =
-          String.format("Cannot find %s file in gerrit etc dir. Please check your gerrit configuration", filename);
-      log.error(errmsg);
-      return errmsg;
-    }
+    final ReviewInput comment = createComment(commentTemplate);
+    applyComment(number, comment);
   }
 
   public void setMinusOne(final int number, final String commentTemplate) throws RestApiException, OrmException, IOException, NoSuchChangeException {
-    final ReviewInput message = createCrossrepoComment(commentTemplate);
-    message.label("Code-Review", -1);
-    final RevisionResource r = atomicityHelper.getRevisionResource(number);
-    reviewer.get().apply(r, message);
+    final ReviewInput message = createComment(commentTemplate).label("Code-Review", -1);
+    applyComment(number, message);
   }
 
-  private ReviewInput createCrossrepoComment(final String commentTemplate) {
-    final ReviewInput message = new ReviewInput();
-    message.message = config.getCommentPrefix() + getCommentFromFile(commentTemplate);
-    return message;
+  private ReviewInput createComment(final String commentTemplate) {
+    return new ReviewInput().message(getCommentFromFile(commentTemplate));
+  }
+
+  private String getCommentFromFile(final String filename) {
+     try {
+       return Files.toString(new File(config.getTemplatesPath(), filename), Charsets.UTF_8);
+     } catch (final IOException exc) {
+       final String errmsg =
+           String.format("Cannot find %s file in gerrit etc dir. Please check your gerrit configuration", filename);
+       log.error(errmsg);
+       return errmsg;
+     }
+   }
+
+  private void applyComment(final int number, ReviewInput comment) throws RestApiException, OrmException, IOException, NoSuchChangeException {
+    final RevisionResource r = atomicityHelper.getRevisionResource(number);
+    reviewer.get().apply(r, comment);
   }
 }
diff --git a/src/test/java/com/criteo/gerrit/plugins/automerge/AutomergeConfigTest.java b/src/test/java/com/criteo/gerrit/plugins/automerge/AutomergeConfigTest.java
index ab0053f..3ff50ee 100644
--- a/src/test/java/com/criteo/gerrit/plugins/automerge/AutomergeConfigTest.java
+++ b/src/test/java/com/criteo/gerrit/plugins/automerge/AutomergeConfigTest.java
@@ -36,12 +36,10 @@
 
       conf.setString(AutomergeConfig.AUTOMERGE_SECTION, null, AutomergeConfig.BOT_EMAIL_KEY, "Foo@bar.com");
       conf.setString(AutomergeConfig.AUTOMERGE_SECTION, null, AutomergeConfig.TOPIC_PREFIX_KEY, "fake_topic_prefix");
-      conf.setString(AutomergeConfig.AUTOMERGE_SECTION, null, AutomergeConfig.COMMENT_PREFIX_KEY, "fake_comment_prefix");
 
       final AutomergeConfig amconf = new AutomergeConfig(conf, paths);
       assertEquals(amconf.getBotEmail(), "Foo@bar.com");
       assertEquals(amconf.getTopicPrefix(), "fake_topic_prefix");
-      assertEquals(amconf.getCommentPrefix(), "fake_comment_prefix");
     } catch (final FileNotFoundException e) {
       fail();
     }
diff --git a/tests.txt b/tests.txt
index 1bd34d2..02ea468 100644
--- a/tests.txt
+++ b/tests.txt
@@ -1,9 +1,23 @@
-Create review1 on repo1.
-Create review1b on top of review1. Set the topic to "crossrepo/test":
+One repo:
+
+Create review0 on repo1.
+Create review0b on top of review1. Set the topic to "crossrepo/test":
   log: Setting -1
   qabot Code-review -1
   message: "This review depends on an unmerged commit."
-Abandon review1b
+Abandon review0b
+Create a parallel review0c on repo1 that conflicts with review0.
+Submit review0c.
+Approve review0:
+  logged: "Change %d is submittable. Will try to merge all related changes."
+  comment: "This review is not mergeable because there is a conflict."
+Make review0 mergeable by rebasing.
+approve review0:
+  merged: review0
+
+Two repos:
+
+Create review1 on repo1.
 Set to the topic of review1 to "crossrepo/test":
   message: "This review is a cross-repo refactoring. It will be merged when all dependant reviews are mergeable."
   logged: "Detected atomic review on change xxx."
@@ -14,7 +28,8 @@
   logged: "Change %d is submittable. Will try to merge all related changes."
 Approve review1 but make it not mergeable (merge an other review that conflicts), then comment on review2: 
   logged: "Change %d is submittable. Will try to merge all related changes."
-  comment: "Some related reviews to this cross-repo refactoring are not mergeable yet."
+  comment: "This review is not mergeable because there is a conflict."
 Make review1 mergeable:
   log DEBUG: "Change %d is mergeable"
   merged: review1 and review2
+
