diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index d1c9a36b10380bac7897216627dc449536e182b0..850bdf60e39f72b2df2bb142adcbd9e57e36cb05 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -8,8 +8,8 @@
     - docker login -u $CI_REGISTRY_USER -p $CI_REGISTRY_PASSWORD $CI_REGISTRY
     - docker pull $CI_REGISTRY_IMAGE/$TAG || true
     - export DOCKER_BUILDKIT=1
-    - docker build --cache-from $CI_REGISTRY_IMAGE/$TAG:$CI_COMMIT_BRANCH -t $CI_REGISTRY_IMAGE/$TAG:$CI_COMMIT_BRANCH -f $DOCKERFILE .
-    - docker push $CI_REGISTRY_IMAGE/$TAG:$CI_COMMIT_BRANCH
+    - docker build --cache-from $CI_REGISTRY_IMAGE/$TAG:$CI_COMMIT_REF_SLUG -t $CI_REGISTRY_IMAGE/$TAG:$CI_COMMIT_REF_SLUG -f $DOCKERFILE .
+    - docker push $CI_REGISTRY_IMAGE/$TAG:$CI_COMMIT_REF_SLUG
   # In case we are not on the main branch, we only want to do build testing for
   # the image, without pushing anything to the registry.
   rules: