diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index 1cf499e4f076b131273114e1547e65e863eeb68f..91fb914c182ae4d07fd0c64e3402e79bfc2279f3 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -25,6 +25,7 @@ ci_test_image:
     changes:
       - test/Dockerfile
       - test/requirements.txt
+      - .gitlab-ci.yml
 
 bootstrap:
   stage: setup-cluster
@@ -33,7 +34,7 @@ bootstrap:
   script:
     # Ensure test/ is not world-writable otherwise ansible-playbook refuses to run, see
     # https://docs.ansible.com/ansible/devel/reference_appendices/config.html#cfg-in-world-writable-dir
-    - chmod 755 test/
+    - chmod 755 ansible/
     - eval $(ssh-agent -s)
     - echo "$SSH_PRIVATE_KEY" | tr -d '\r' | ssh-add - > /dev/null
     - python3 -m openappstack $CI_PIPELINE_ID create --create-droplet openappstack.net --hostname "ci-$CI_PIPELINE_ID" --ssh-key-id 411 --create-domain-records --subdomain "ci-$CI_PIPELINE_ID.ci" 
@@ -49,6 +50,7 @@ bootstrap:
       - helmfiles/**/*
       - test/**/*
       - openappstack/**/*
+      - .gitlab-ci.yml
 
 install:
   stage: install-apps
@@ -57,7 +59,7 @@ install:
   script:
     # Ensure test/ is not world-writable otherwise ansible-playbook refuses to run, see
     # https://docs.ansible.com/ansible/devel/reference_appendices/config.html#cfg-in-world-writable-dir
-    - chmod 755 test/
+    - chmod 755 ansible/
     - eval $(ssh-agent -s)
     - echo "$SSH_PRIVATE_KEY" | tr -d '\r' | ssh-add - > /dev/null
     - python3 -m openappstack $CI_PIPELINE_ID install --ansible-param tags=helmfile 
@@ -74,6 +76,7 @@ install:
       - helmfiles/**/*
       - test/**/*
       - openappstack/**/*
+      - .gitlab-ci.yml
 
 testinfra:
   stage: health-test
@@ -88,6 +91,7 @@ testinfra:
       - helmfiles/**/*
       - test/**/*
       - openappstack/**/*
+      - .gitlab-ci.yml
 
 certs:
   stage: health-test
@@ -105,6 +109,7 @@ certs:
       - helmfiles/**/*
       - test/**/*
       - openappstack/**/*
+      - .gitlab-ci.yml
 
 behave-nextcloud:
   stage: integration-test
@@ -126,6 +131,7 @@ behave-nextcloud:
       - helmfiles/**/*
       - test/**/*
       - openappstack/**/*
+      - .gitlab-ci.yml
 
 behave-grafana:
   stage: integration-test
@@ -146,6 +152,7 @@ behave-grafana:
       - helmfiles/**/*
       - test/**/*
       - openappstack/**/*
+      - .gitlab-ci.yml
 
 terminate:
   stage: cleanup
@@ -160,6 +167,7 @@ terminate:
       - helmfiles/**/*
       - test/**/*
       - openappstack/**/*
+      - .gitlab-ci.yml
 
 # This trivial job works around a Gitlab bug: if no job runs at all due to
 # `only`, Gitlab gets confused and doesn't allow you to merge the MR: