diff --git a/templates/full-pipeline.yml b/templates/full-pipeline.yml
index 686dac1bfd1dab7ee59f52dc57aa282642bf233b..ae3a72bb587061285e960adb15f7224e06b51343 100644
--- a/templates/full-pipeline.yml
+++ b/templates/full-pipeline.yml
@@ -310,16 +310,14 @@ include:
 '.$[[ inputs.job_name_prefix ]]delete-state:dummy:true':
   stage: .pre
   script: 'false'
+  rules: [{when: never}]
 
 '.$[[ inputs.job_name_prefix ]]delete-state:dummy:false':
   needs: ['$[[ inputs.job_name_prefix ]]destroy']
+  rules: $[[ inputs.delete_state_rules ]]
 
 '$[[ inputs.job_name_prefix ]]delete-state':
   extends: '.$[[ inputs.job_name_prefix ]]delete-state:dummy:$[[ inputs.trigger_in_child_pipeline ]]'
-  rules:
-    - if: '"$[[ inputs.trigger_in_child_pipeline ]]" != "false"'
-      when: never
-    - $[[ inputs.delete_state_rules ]]
 
 
 # NOTE: the following configuration is only used if `trigger_in_child_pipeline` is enabled.
diff --git a/templates/validate-plan-destroy.yml b/templates/validate-plan-destroy.yml
index c22650f760b2c467d60f6ca30093803b1341b196..e5abfde2274426ea35bd4f5de0a045e03f123318 100644
--- a/templates/validate-plan-destroy.yml
+++ b/templates/validate-plan-destroy.yml
@@ -249,16 +249,14 @@ include:
 '.$[[ inputs.job_name_prefix ]]delete-state:dummy:true':
   stage: .pre
   script: 'false'
+  rules: [{when: never}]
 
 '.$[[ inputs.job_name_prefix ]]delete-state:dummy:false':
   needs: ['$[[ inputs.job_name_prefix ]]destroy']
+  rules: $[[ inputs.delete_state_rules ]]
 
 '$[[ inputs.job_name_prefix ]]delete-state':
   extends: '.$[[ inputs.job_name_prefix ]]delete-state:dummy:$[[ inputs.trigger_in_child_pipeline ]]'
-  rules:
-    - if: '"$[[ inputs.trigger_in_child_pipeline ]]" != "false"'
-      when: never
-    - $[[ inputs.delete_state_rules ]]
 
 
 # NOTE: the following configuration is only used if `trigger_in_child_pipeline` is enabled.