diff --git a/roles/network_plugin/calico/tasks/install.yml b/roles/network_plugin/calico/tasks/install.yml
index a8b1267eb51b96db0adc6c8ad944ccf4e86f4ff2..f543036e5d902fdf877556dc660d92dae7263f90 100644
--- a/roles/network_plugin/calico/tasks/install.yml
+++ b/roles/network_plugin/calico/tasks/install.yml
@@ -569,9 +569,10 @@
   delay: "{{ retry_stagger | random + 3 }}"
   with_items:
     - "{{ peers|selectattr('scope','undefined')|list|default([]) | union(peers|selectattr('scope','defined')|selectattr('scope','equalto', 'node')|list|default([])) }}"
+  delegate_to: "{{ groups['kube_control_plane'][0] }}"
   when:
     - peer_with_router|default(false)
-    - inventory_hostname == groups['kube_control_plane'][0]
+    - inventory_hostname in groups['k8s_cluster']
 
 - name: Calico | Create Calico ipam manifests
   template: