diff --git a/templates/gitlab-ci-helm.yml b/templates/gitlab-ci-helm.yml
index 08fdfbe230c540816cb41b7624f13e5bf1523abb..c8c7aa80b44dde40664ce46b1f7a2e550a497db5 100644
--- a/templates/gitlab-ci-helm.yml
+++ b/templates/gitlab-ci-helm.yml
@@ -527,7 +527,8 @@ helm-values-review-lint:
   rules:
     - if: '$CI_MERGE_REQUEST_ID || $HELM_YAMLLINT_DISABLED == "true"'
       when: never
-    - if: $HELM_REVIEW_VALUES
+    # only on non-production, non-integration branches
+    - if: '$HELM_REVIEW_VALUES && $CI_COMMIT_REF_NAME !~ $PROD_REF && $CI_COMMIT_REF_NAME !~ $INTEG_REF'
 
 helm-values-integration-lint:
   extends: .helm-values-lint
@@ -537,7 +538,8 @@ helm-values-integration-lint:
   rules:
     - if: '$CI_MERGE_REQUEST_ID || $HELM_YAMLLINT_DISABLED == "true"'
       when: never
-    - if: $HELM_INTEG_VALUES
+    # only on integration branch(es)
+    - if: '$HELM_INTEG_VALUES && $CI_COMMIT_REF_NAME =~ $INTEG_REF'
 
 helm-values-staging-lint:
   extends: .helm-values-lint
@@ -547,7 +549,8 @@ helm-values-staging-lint:
   rules:
     - if: '$CI_MERGE_REQUEST_ID || $HELM_YAMLLINT_DISABLED == "true"'
       when: never
-    - if: $HELM_STAGING_VALUES
+    # only on production branch(es)
+    - if: '$HELM_STAGING_VALUES && $CI_COMMIT_REF_NAME =~ $PROD_REF'
 
 helm-values-prod-lint:
   extends: .helm-values-lint
@@ -557,7 +560,8 @@ helm-values-prod-lint:
   rules:
     - if: '$CI_MERGE_REQUEST_ID || $HELM_YAMLLINT_DISABLED == "true"'
       when: never
-    - if: $HELM_PROD_VALUES
+    # only on production branch(es)
+    - if: '$HELM_PROD_VALUES && $CI_COMMIT_REF_NAME =~ $PROD_REF'
 
 helm-review-score:
   extends: .helm-score
@@ -571,8 +575,8 @@ helm-review-score:
     # exclude when $HELM_KUBE_SCORE_DISABLED is set
     - if: '$HELM_KUBE_SCORE_DISABLED == "true"'
       when: never
-    # else: allow failure
-    - if: $HELM_REVIEW_VALUES
+    # else: only on non-production, non-integration branches + allow failure
+    - if: $HELM_REVIEW_VALUES && $CI_COMMIT_REF_NAME !~ $PROD_REF && $CI_COMMIT_REF_NAME !~ $INTEG_REF
       exists:
         - "**/Chart.yaml"
       allow_failure: true
@@ -589,8 +593,8 @@ helm-integration-score:
     # exclude when $K8S_SCORE_DISABLED is set
     - if: '$HELM_KUBE_SCORE_DISABLED == "true"'
       when: never
-    # else: allow failure
-    - if: $HELM_INTEG_VALUES
+    # else: only on integration branch(es) + allow failure
+    - if: $HELM_INTEG_VALUES && $CI_COMMIT_REF_NAME =~ $INTEG_REF
       exists:
         - "**/Chart.yaml"
       allow_failure: true
@@ -607,8 +611,8 @@ helm-staging-score:
     # exclude when $K8S_SCORE_DISABLED is set
     - if: '$HELM_KUBE_SCORE_DISABLED == "true"'
       when: never
-    # else: allow failure
-    - if: $HELM_STAGING_VALUES
+    # else: only on production branch(es) + allow failure
+    - if: $HELM_STAGING_VALUES && $CI_COMMIT_REF_NAME =~ $PROD_REF
       exists:
         - "**/Chart.yaml"
       allow_failure: true
@@ -625,8 +629,8 @@ helm-prod-score:
     # exclude when $K8S_SCORE_DISABLED is set
     - if: '$HELM_KUBE_SCORE_DISABLED == "true"'
       when: never
-    # else: allow failure
-    - if: $HELM_PROD_VALUES
+    # else: only on production branch(es) + allow failure
+    - if: $HELM_PROD_VALUES && $CI_COMMIT_REF_NAME =~ $PROD_REF
       exists:
         - "**/Chart.yaml"
       allow_failure: true