diff --git a/roles/download/tasks/set_docker_image_facts.yml b/roles/download/tasks/set_docker_image_facts.yml
index 6fb00e5c03b7afb63016671518f65a45f58030b2..72d898df13dd0bdabdd342b24025adde9cb2259e 100644
--- a/roles/download/tasks/set_docker_image_facts.yml
+++ b/roles/download/tasks/set_docker_image_facts.yml
@@ -15,12 +15,16 @@
   failed_when: false
   changed_when: false
   check_mode: no
-  when: not download_always_pull
+  when:
+    - not download_always_pull
+    - group_names | intersect(download.groups) | length
 
 - set_fact:
     pull_required: >-
       {%- if pull_args in docker_images.stdout.split(',') %}false{%- else -%}true{%- endif -%}
-  when: not download_always_pull
+  when:
+    - not download_always_pull
+    - group_names | intersect(download.groups) | length
 
 - name: Does any host require container pull?
   vars:
@@ -35,6 +39,7 @@
   assert:
     that: "{{ download.repo }}:{{ download.tag }} in docker_images.stdout.split(',')"
   when:
+    - group_names | intersect(download.groups) | length
     - not download_always_pull
     - not pull_required
     - pull_by_digest