diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index 7947aef87ab43d1edc9d9b4006270a7e52f5e249..a5f3a7dcd3f06f956942c0c903d25ed733917e6f 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -85,7 +85,16 @@ tf-apply:
       echo "image_ohpc defined as ${TF_VAR_image_ohpc}"
       fi   
     - export TF_VAR_keypair_name="os-gen-keypair-$BUILD_DATE"
-    - terraform apply -auto-approve || terraform destroy -auto-approve && false
+    - |
+      terraform apply -auto-approve
+      if [ $? -ne 0 ]; then
+        echo "Terraform apply failed. Running terraform destroy..."
+        terraform destroy -auto-approve
+        TF_SUCCESS=false
+      else
+        TF_SUCCESS=true
+      fi
+      echo "Terraform success: $TF_SUCCESS"
 
 clean-up:
   stage: cleanup