diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index 26a776c541145682a25e9289c2a0858012aec38a..4ba8c9dc6afdc9be6f2ac156ec18be6b7840844b 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -72,10 +72,15 @@ build:
   tags: [build]
   image: $REGISTRY_PROD/pica-ci-base
   before_script:
-    - echo $REGISTRY_PASSWORD | docker login $REGISTRY -u $REGISTRY_USERNAME --password-stdin
+    # First login on the production registry, in case the image is based on a other registry image
+    - echo $REGISTRY_PROD_PASSWORD | docker login $REGISTRY_PROD -u $REGISTRY_PROD_USERNAME --password-stdin
     - source variables
   script:
+    # Build the image
     - docker build -f $MODIFIED_IMAGE/Dockerfile $MODIFIED_IMAGE -t $MODIFIED_IMAGE_FULL_TEST
+    - docker logout $REGISTRY_PROD
+    # Then login on the test registry and push the image
+    - echo $REGISTRY_PASSWORD | docker login $REGISTRY -u $REGISTRY_USERNAME --password-stdin
     - docker push $MODIFIED_IMAGE_FULL_TEST
   after_script:
     - docker logout $REGISTRY