diff --git a/roles/download/tasks/download_file.yml b/roles/download/tasks/download_file.yml
index ca589d4288f003b26d103eb149f22b440a1530ff..f7f30804846cbe7fb639abf644ddf42be42947cb 100644
--- a/roles/download/tasks/download_file.yml
+++ b/roles/download/tasks/download_file.yml
@@ -101,7 +101,9 @@
     run_once: "{{ download_force_cache }}"
     register: get_url_result
     become: "{{ not download_localhost }}"
-    until: "'OK' in get_url_result.msg or 'file already exists' in get_url_result.msg"
+    until: "'OK' in get_url_result.msg or
+      'file already exists' in get_url_result.msg or
+      get_url_result.status_code == 304"
     retries: "{{ download_retries }}"
     delay: "{{ retry_stagger | default(5) }}"
     environment: "{{ proxy_env }}"