diff --git a/ci-tools/update-nixpkgs b/ci-tools/update-nixpkgs
index ee452e30e1bfce7d5dee5a486f8d9704f45e0fbe..bc8b1749d03ac77af31e72342e95197709a61dde 100755
--- a/ci-tools/update-nixpkgs
+++ b/ci-tools/update-nixpkgs
@@ -38,7 +38,8 @@ TARGET_BRANCH="nixpkgs-upgrade-$(date +%Y-%m-%d)"
 echo '{}' > morph/grid/local/public-keys/users.nix
 # nix-build -A morph -o result-before
 
-git checkout "${TARGET_BRANCH}" || git checkout -b "${TARGET_BRANCH}"
+git branch -d "${TARGET_BRANCH}" || true
+git checkout -b "${TARGET_BRANCH}"
 
 # Spawn *another* nix-shell that has the *other* update-nixpkgs tool.  Should
 # sort out this mess sooner rather than later...