diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index 57d8568125760f2764e25e340b61035bd036db68..ac3f069bfa509e1f1bd4a752d82ef609943263f4 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -320,7 +320,8 @@ jug_dev:
       source eic-spack.sh ;
       export SPACK_VERSION ;
       cat mirrors.yaml.in | envsubst > mirrors.yaml
-    - docker buildx build --push ${BUILD_OPTIONS}
+    - while !
+      docker buildx build --push ${BUILD_OPTIONS}
                    --tag ${CI_REGISTRY}/${CI_PROJECT_PATH}/${BUILD_IMAGE}${ENV}:${INTERNAL_TAG}-${BUILD_TYPE}
                    ${EXPORT_TAG:+
                      ${CI_PUSH:+--tag ${CI_REGISTRY}/${CI_PROJECT_PATH}/${BUILD_IMAGE}${ENV}:${EXPORT_TAG}-${BUILD_TYPE}}
@@ -386,7 +387,13 @@ jug_dev:
                    --provenance false
                    containers/jug
                    2>&1 | tee build.log
-
+      ; do
+        if grep "unknown blob" build.log ; then
+          BUILD_OPTIONS="--no-cache ${BUILD_OPTIONS}" ;
+        else
+          exit 1 ;
+        fi
+      done
 
 jug_xl:default:
   parallel:
@@ -413,7 +420,8 @@ jug_xl:default:
           - dev
   script:
     - apk add git
-    - docker buildx build --push ${BUILD_OPTIONS}
+    - while ! 
+      docker buildx build --push ${BUILD_OPTIONS}
                    --tag ${CI_REGISTRY}/${CI_PROJECT_PATH}/${BUILD_IMAGE}:${INTERNAL_TAG}-default
                    ${EXPORT_TAG:+
                      ${CI_PUSH:+--tag ${CI_REGISTRY}/${CI_PROJECT_PATH}/${BUILD_IMAGE}:${EXPORT_TAG}}
@@ -434,7 +442,13 @@ jug_xl:default:
                    --provenance false
                    containers/jug
                    2>&1 | tee build.log
-
+      ; do
+        if grep "unknown blob" build.log ; then
+          BUILD_OPTIONS="--no-cache ${BUILD_OPTIONS}" ;
+        else
+          exit 1 ;
+        fi
+      done
 
 jug_xl:nightly:
   parallel:
@@ -472,7 +486,8 @@ jug_xl:nightly:
         PUSH_NIGHTLY_WITH_DATE="1"
       fi
     - apk add git
-    - docker buildx build --push ${BUILD_OPTIONS}
+    - while !
+      docker buildx build --push ${BUILD_OPTIONS}
                    --tag ${CI_REGISTRY}/${CI_PROJECT_PATH}/${BUILD_IMAGE}:${INTERNAL_TAG}-nightly
                    ${EXPORT_TAG:+
                      ${CI_PUSH:+--tag ${CI_REGISTRY}/${CI_PROJECT_PATH}/${BUILD_IMAGE}:${EXPORT_TAG}-nightly}
@@ -512,7 +527,13 @@ jug_xl:nightly:
                    --provenance false
                    containers/jug
                    2>&1 | tee build.log
-
+      ; do
+        if grep "unknown blob" build.log ; then
+          BUILD_OPTIONS="--no-cache ${BUILD_OPTIONS}" ;
+        else
+          exit 1 ;
+        fi
+      done
 
 .singularity:
   image: