diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index ea09e9d77e33973466b62184b6a64113e8436b53..ea0a3187deb3b99d5d3d2e5dd0e72075e2e6b0e3 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -42,10 +42,13 @@ build:
     - ./.gitlab-ci/update-git.sh | tee -a debug.log
     - ./.gitlab-ci/build.sh -c update -b $CI_COMMIT_REF_NAME -n $CI_PIPELINE_ID -m "-j $(nproc --all) $BROKEN" | tee -a debug.log
       # We should never need this, should we?
-    - ./.gitlab-ci/build.sh -c clean -b $CI_COMMIT_REF_NAME -n $CI_PIPELINE_ID -m "-j $(nproc --all) $BROKEN" | tee -a debug.log
-      # In the past this build step repeatedly broke
-    # - ./.gitlab-ci/build.sh -c download -b $CI_COMMIT_REF_NAME -n $CI_PIPELINE_ID -m "-j $(nproc --all) V=s" | tee -a debug.log
+    - ./.gitlab-ci/build.sh -c clean -b $CI_COMMIT_REF_NAME -n $CI_PIPELINE_ID -m "-j $(nproc --all)" | tee -a debug.log
+      # Apply patches
+    - ./.gitlab-ci/patch.sh patches gluon
+      # Build
     - ./.gitlab-ci/build.sh -c build -b $CI_COMMIT_REF_NAME -n $CI_PIPELINE_ID -m "-j $(nproc --all) $BROKEN" | tee -a debug.log
+      # Revert patches
+    - ./.gitlab-ci/patch.sh -r patches gluon
       # Bring gluon repo to cacheable state
     - ./.gitlab-ci/build.sh -c clean -b $CI_COMMIT_REF_NAME -n $CI_PIPELINE_ID -m "-j $(nproc --all) $BROKEN" | tee -a debug.log
       # Sign
diff --git a/patches/.keep b/patches/.keep
new file mode 100644
index 0000000000000000000000000000000000000000..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391