diff --git a/bin/merge b/bin/merge
index 4f626a6024e3ddd54abc981bb315c00d4b84b453..4e7067e1b65e95840a19b61c24fcc6f06a65b2a6 100755
--- a/bin/merge
+++ b/bin/merge
@@ -1,7 +1,5 @@
 #!/bin/bash
 
-set -e
-
 SOURCEBRANCH=$(git rev-parse --abbrev-ref HEAD)
 if [[ "x$TARGETBRANCH" == "x" ]]; then
   if [[ "$SOURCEBRANCH" == "main" ]]; then
@@ -29,6 +27,11 @@ if [[ "$1" == "major" ]]; then
   TITLE="${TITLE} [MAJOR_VERSION]"
 fi
 
-glab mr create --fill --yes --source-branch ${SOURCEBRANCH} --target-branch ${TARGETBRANCH} --title "$TITLE"
+sleep 5
+rm /tmp/glab.log || true
+glab mr create --fill --yes --source-branch ${SOURCEBRANCH} --target-branch ${TARGETBRANCH} --title "$TITLE" > /tmp/glab.log
+EC=0
+grep "Failed to create merge request." /tmp/glab.log || EC=$?
+if [[ $EC -neq 0 ]]; then glab mr create --recover; fi
 sleep 5
 glab mr merge --yes ${SOURCEBRANCH}