diff --git a/gitlab-ci-config/workflow-rules.yml b/gitlab-ci-config/workflow-rules.yml
index 888c994585e19908cb1b76561c80fcc7c3d0f9a8_Z2l0bGFiLWNpLWNvbmZpZy93b3JrZmxvdy1ydWxlcy55bWw=..af251ab274de737ea38f5af06079e5d34d8a81ab_Z2l0bGFiLWNpLWNvbmZpZy93b3JrZmxvdy1ydWxlcy55bWw= 100644
--- a/gitlab-ci-config/workflow-rules.yml
+++ b/gitlab-ci-config/workflow-rules.yml
@@ -33,6 +33,8 @@
     - if: '$PIPELINE_TYPE == null && $CI_PROJECT_PATH == $QA_PROJECT_PATH && $CACHE_UPDATE == "true"'
       variables:
         PIPELINE_TYPE: TRIGGER_CACHE_UPDATE_PIPELINE
+        # We want to rebuild the cache from scratch to ensure stale dependencies are cleaned up.
+        CACHE_POLICY: 'push'
     - if: '$PIPELINE_TYPE == null && $CI_PROJECT_PATH == $QA_PROJECT_PATH && $DURATION_PLOTTER == "true" && $CI_PIPELINE_SOURCE == "schedule"'
       variables:
         PIPELINE_TYPE: DURATION_PLOTTER_PIPELINE