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 113b8e9..efe90c1 100644
--- a/src/main/java/com/criteo/gerrit/plugins/automerge/AutomaticMerger.java
+++ b/src/main/java/com/criteo/gerrit/plugins/automerge/AutomaticMerger.java
@@ -27,6 +27,7 @@
 import com.google.gerrit.server.change.Submit;
 import com.google.gerrit.server.data.AccountAttribute;
 import com.google.gerrit.server.data.ChangeAttribute;
+import com.google.gerrit.server.events.ChangeEvent;
 import com.google.gerrit.server.events.CommentAddedEvent;
 import com.google.gerrit.server.events.Event;
 import com.google.gerrit.server.events.PatchSetCreatedEvent;
@@ -87,11 +88,10 @@
 
   @Override
   synchronized public void onEvent(final Event event) {
-    if (event instanceof TopicChangedEvent) {
-      onTopicChanged((TopicChangedEvent)event);
-    }
-    else if (event instanceof PatchSetCreatedEvent) {
-      onPatchSetCreated((PatchSetCreatedEvent)event);
+    if (event instanceof TopicChangedEvent ||
+        event instanceof PatchSetCreatedEvent) {
+      Change change = Change.from(((ChangeEvent)event).change.get());
+      onNewOrChangedPatchSet(change);
     }
     else if (event instanceof CommentAddedEvent) {
       onCommentAdded((CommentAddedEvent)event);
@@ -103,21 +103,10 @@
     }
   }
 
-
-  private void onTopicChanged(final TopicChangedEvent event) {
-    Change change = Change.from(event.change.get());
-    if (!atomicityHelper.isAtomicReview(change)) {
-      return;
-    }
-    processNewAtomicPatchSet(change);
-  }
-
-  private void onPatchSetCreated(final PatchSetCreatedEvent event) {
-    Change change = Change.from(event.change.get());
+  private void onNewOrChangedPatchSet(Change change) {
     if (atomicityHelper.isAtomicReview(change)) {
       processNewAtomicPatchSet(change);
     }
-
     try {
       autoSubmitIfMergeable(change);
     } catch (OrmException | RestApiException | IOException | UpdateException e) {
