diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index 920f0c74d3a93297cacd9de3bfd8984bf3eaa475..90c58ecfcb1ea8c9ae491fc32d48b8853dd454d2 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -12,7 +12,6 @@ variables:
   DOCKER_TLS_CERTDIR: "/certs"
 
 before_script:
-  - docker login -u "$CI_REGISTRY_USER" -p "$CI_REGISTRY_PASSWORD" $CI_REGISTRY
   - pip install setuptools
 
 build_package:
@@ -39,6 +38,7 @@ build_and_push_docker_image:
   stage: publish
   image: docker:26.0.1-dind
   script:
+    - docker login -u "$CI_REGISTRY_USER" -p "$CI_REGISTRY_PASSWORD" $CI_REGISTRY
     - docker build -t $DOCKER_IMAGE:$CI_COMMIT_SHORT_SHA .
     - docker push $DOCKER_IMAGE:$CI_COMMIT_SHORT_SHA
   only: