diff --git a/ansible/roles/baremetal/tasks/bootstrap-servers.yml b/ansible/roles/baremetal/tasks/bootstrap-servers.yml
index 03b564a86e..46f2ae103e 100644
--- a/ansible/roles/baremetal/tasks/bootstrap-servers.yml
+++ b/ansible/roles/baremetal/tasks/bootstrap-servers.yml
@@ -6,5 +6,6 @@
 - import_tasks: post-install.yml
 
 - include_tasks: configure-containerd-for-zun.yml
-  when: containerd_configure_for_zun|bool and
-        inventory_hostname in groups['zun-cni-daemon']
+  when:
+    - containerd_configure_for_zun|bool
+    - "'zun-cni-daemon' in group_names"
diff --git a/ansible/roles/baremetal/tasks/post-install.yml b/ansible/roles/baremetal/tasks/post-install.yml
index 5d1be104db..d646c0139c 100644
--- a/ansible/roles/baremetal/tasks/post-install.yml
+++ b/ansible/roles/baremetal/tasks/post-install.yml
@@ -66,6 +66,7 @@
     docker_config: "{{ docker_config | combine(docker_zun_config) }}"
   when:
     - docker_configure_for_zun | bool
+    - "'zun-compute' in group_names"
 
 - name: Warn about deprecations
   debug:
@@ -136,7 +137,7 @@
     state: absent
   when:
     - not docker_custom_option
-    - not docker_configure_for_zun | bool
+    - not docker_configure_for_zun | bool or 'zun-compute' not in group_names
     - not docker_http_proxy
     - not docker_https_proxy
     - not docker_no_proxy
@@ -149,7 +150,7 @@
     recurse: yes
   when: >
     docker_custom_option | length > 0 or
-    docker_configure_for_zun | bool or
+    (docker_configure_for_zun | bool and 'zun-compute' in group_names) or
     docker_http_proxy | length > 0 or
     docker_https_proxy | length > 0 or
     docker_no_proxy | length > 0
@@ -161,7 +162,7 @@
     dest: /etc/systemd/system/docker.service.d/kolla.conf
   when: >
     docker_custom_option | length > 0 or
-    docker_configure_for_zun | bool or
+    (docker_configure_for_zun | bool and 'zun-compute' in group_names) or
     docker_http_proxy | length > 0 or
     docker_https_proxy | length > 0 or
     docker_no_proxy | length > 0
diff --git a/ansible/roles/baremetal/templates/docker_systemd_service.j2 b/ansible/roles/baremetal/templates/docker_systemd_service.j2
index 4f15d60cec..f10beaf82d 100644
--- a/ansible/roles/baremetal/templates/docker_systemd_service.j2
+++ b/ansible/roles/baremetal/templates/docker_systemd_service.j2
@@ -10,4 +10,4 @@ Environment="NO_PROXY={{ docker_no_proxy }}"
 {% endif %}
 ExecStart=
 # ExecStart commandline copied from 'docker-ce' package. Same on CentOS/Debian/Ubuntu systems.
-ExecStart=/usr/bin/dockerd -H fd:// --containerd=/run/containerd/containerd.sock{% if docker_custom_option %} {{ docker_custom_option }}{% endif %}{% if docker_configure_for_zun|bool %} {{ docker_zun_options }}{% endif %}
+ExecStart=/usr/bin/dockerd -H fd:// --containerd=/run/containerd/containerd.sock{% if docker_custom_option %} {{ docker_custom_option }}{% endif %}{% if docker_configure_for_zun|bool and 'zun-compute' in group_names %} {{ docker_zun_options }}{% endif %}
diff --git a/releasenotes/notes/bootstrap-without-zun-67d6ee5d84fcec22.yaml b/releasenotes/notes/bootstrap-without-zun-67d6ee5d84fcec22.yaml
new file mode 100644
index 0000000000..b995f2cf2e
--- /dev/null
+++ b/releasenotes/notes/bootstrap-without-zun-67d6ee5d84fcec22.yaml
@@ -0,0 +1,6 @@
+---
+fixes:
+  - |
+    Fixes an issue with ``kolla-ansible bootstrap-servers`` if Zun is enabled
+    where Zun-specific configuration for Docker was applied to all nodes.
+    `LP#1914378 <https://bugs.launchpad.net/kolla-ansible/+bug/1914378>`__