diff --git a/scripts/run-cvecheck b/scripts/run-cvecheck
index d22dc82..c6b0066 100755
--- a/scripts/run-cvecheck
+++ b/scripts/run-cvecheck
@@ -90,6 +90,10 @@ if [ -e tmp/log/cve/cve-summary.json ]; then
     git -C $METRICSDIR add cve-check/$BRANCH/$TIMESTAMP.json
     git -C $METRICSDIR commit -asm "Autobuilder adding new CVE data for branch $BRANCH" || true
     if [ "$PUSH" = "1" ]; then
+        if ! git -C $METRICSDIR pull --rebase; then
+            echo "Aborting push, metrics repo has updated and cannot rebase cleanly"
+            exit 1
+        fi
         git -C $METRICSDIR push
     fi
     $OURDIR/cve-report.py tmp/log/cve/cve-summary.json > $RESULTSDIR/cve-status-$BRANCH.txt
diff --git a/scripts/run-patchmetrics b/scripts/run-patchmetrics
index 391ac45..8e52371 100755
--- a/scripts/run-patchmetrics
+++ b/scripts/run-patchmetrics
@@ -24,6 +24,10 @@ if [ ! -e $PARENTDIR/yocto-metrics ]; then
 fi
 $OURDIR/patchmetrics-update --repo $PARENTDIR --patchscript $PARENTDIR/scripts/contrib/patchreview.py --metadata $TARGETDIR --json $PARENTDIR/yocto-metrics/patch-status.json
 git -C $PARENTDIR/yocto-metrics commit -asm "Autobuilder adding new patch stats"
+if ! git -C $PARENTDIR/yocto-metrics pull --rebase; then
+	echo "Aborting push, metrics repo has updated and cannot rebase cleanly"
+	exit 1
+fi
 git -C $PARENTDIR/yocto-metrics push
 
 if [ ! -d $RESULTSDIR ]; then
