diff --git a/templates/apply.yml b/templates/apply.yml
index 235c6e70488378d9b75d8f59acc50e0f858b86a8..e2d37785e6a28c5aa3c51d7e1e64c37ed004d1b1 100644
--- a/templates/apply.yml
+++ b/templates/apply.yml
@@ -50,6 +50,10 @@ spec:
     state_name:
       default: default
       description: 'Remote OpenTofu state name.'
+    no_plan:
+      default: false
+      type: boolean
+      description: 'Whether a plan file should be used.'
     plan_name:
       default: 'plan'
       description: 'The name of the plan file to use. Will be used for TF_PLAN_CACHE and TF_PLAN_JSON.'
@@ -79,6 +83,7 @@ spec:
     __CACHE_KEY_HACK: "$[[ inputs.root_dir ]]"
     TF_ROOT: $[[ inputs.root_dir ]]
     TF_STATE_NAME: $[[ inputs.state_name ]]
+    TF_APPLY_NO_PLAN: $[[ inputs.no_plan ]]
     TF_PLAN_NAME: $[[ inputs.plan_name ]]
   image:
     name: '$[[ inputs.image_registry_base ]]/$[[ inputs.image_name ]]:$[[ inputs.version ]]-opentofu$[[ inputs.opentofu_version ]]'
diff --git a/tests/integration-tests/Destroy.gitlab-ci.yml b/tests/integration-tests/Destroy.gitlab-ci.yml
index 2b8ac40f18584416a65c4e0d27c839cb0d90bc05..d0ec3c56ae349723dedf34cdfd13d4561621ec08 100644
--- a/tests/integration-tests/Destroy.gitlab-ci.yml
+++ b/tests/integration-tests/Destroy.gitlab-ci.yml
@@ -1,4 +1,16 @@
 include:
+  - component: $CI_SERVER_FQDN/$CI_PROJECT_PATH/apply@$CI_COMMIT_SHA
+    inputs:
+      image_registry_base: $GITLAB_OPENTOFU_IMAGE_BASE
+      version: $CI_COMMIT_SHA
+      opentofu_version: $OPENTOFU_VERSION
+      as: 'setup:apply'
+      stage: setup
+      root_dir: $TEST_TF_ROOT
+      state_name: $TEST_TF_STATE_NAME
+      no_plan: true
+      auto_apply: true
+
   - component: $CI_SERVER_FQDN/$CI_PROJECT_PATH/validate-plan-destroy@$CI_COMMIT_SHA
     inputs:
       image_registry_base: $GITLAB_OPENTOFU_IMAGE_BASE
@@ -7,10 +19,13 @@ include:
       root_dir: $TEST_TF_ROOT
       state_name: $TEST_TF_STATE_NAME
 
-stages: [validate, build, cleanup]
+stages: [setup, validate, build, cleanup]
 
 # Required to run everything immediately, instead of manually.
 
+'setup:apply':
+  rules: [{when: always}]
+
 fmt:
   rules: [{when: always}]