diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index f29f384e54d185007eb561b705b87887443e8136..c943378403b790ca4cd1593dbd9003bc8af7b76b 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -32,7 +32,7 @@ variables:
   NIGHTLY_TAG: "nightly"
 
   ## Additional options for docker build (e.g. --no-cache)
-  BUILD_OPTIONS: "--no-cache"
+  BUILD_OPTIONS: ""
 
   ## Version to be set by external trigger
   VERSION: ""
@@ -257,7 +257,8 @@ base:
   needs:
     - version
   script:
-    - docker buildx build --push ${BUILD_OPTIONS}
+    - while !
+      docker buildx build --push ${BUILD_OPTIONS}
                    --tag ${CI_REGISTRY}/${CI_PROJECT_PATH}/${BUILD_IMAGE}:${INTERNAL_TAG}
                    ${EXPORT_TAG:+
                      ${CI_PUSH:+--tag ${CI_REGISTRY}/${CI_PROJECT_PATH}/${BUILD_IMAGE}:${EXPORT_TAG}}
@@ -271,6 +272,13 @@ base:
                    --provenance false
                    containers/debian
                    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_dev: