diff --git a/roles/vault/tasks/shared/gen_ca.yml b/roles/vault/tasks/shared/gen_ca.yml
index 291f42734f4932cddca85f0bdba5d711b0c68728..654cc3ff3b3c4876ce5ce6431c1bee14cba40612 100644
--- a/roles/vault/tasks/shared/gen_ca.yml
+++ b/roles/vault/tasks/shared/gen_ca.yml
@@ -12,6 +12,7 @@
     method: POST
     body_format: json
     body: "{{ gen_ca_vault_options }}"
+    status_code: 200,204
   register: vault_ca_gen
   delegate_to: "{{ groups.vault|first }}"
   run_once: true
@@ -21,9 +22,11 @@
     content: "{{ hostvars[groups.vault|first]['vault_ca_gen']['json']['data']['certificate'] }}"
     dest: "{{ gen_ca_cert_dir }}/ca.pem"
     mode: 0644
+  when: vault_ca_gen.status == 200
 
 - name: "bootstrap/gen_ca | Copy {{ gen_ca_mount_path }} root CA key locally"
   copy:
     content: "{{ hostvars[groups.vault|first]['vault_ca_gen']['json']['data']['private_key'] }}"
     dest: "{{ gen_ca_cert_dir }}/ca-key.pem"
     mode: 0640
+  when: vault_ca_gen.status == 200