Merge "Update merge status after merge:merge is submitted"
diff --git a/zuul/scheduler.py b/zuul/scheduler.py
index 118cbfc..48bb5e3 100644
--- a/zuul/scheduler.py
+++ b/zuul/scheduler.py
@@ -1450,7 +1450,6 @@
             return True
         if build_set.merge_state == build_set.PENDING:
             return False
-        build_set.merge_state = build_set.PENDING
         ref = build_set.ref
         if hasattr(item.change, 'refspec') and not ref:
             self.log.debug("Preparing ref for: %s" % item.change)
@@ -1468,6 +1467,8 @@
             self.sched.merger.updateRepo(item.change.project.name,
                                          url, build_set,
                                          self.pipeline.precedence)
+        # merge:merge has been emitted properly:
+        build_set.merge_state = build_set.PENDING
         return False
 
     def _launchJobs(self, item, jobs):