diff --git a/roles/network_plugin/calico/tasks/reset.yml b/roles/network_plugin/calico/tasks/reset.yml
index 5c32d0e25c41744c982202899c7449eab3342fa4..04c974bc9ef2afb20a389e2150ac4810b73d55f2 100644
--- a/roles/network_plugin/calico/tasks/reset.yml
+++ b/roles/network_plugin/calico/tasks/reset.yml
@@ -11,13 +11,6 @@
   command: ip link del dummy0
   when: dummy0.stat.exists
 
-- name: reset | get remaining routes set by bird
-  command: ip route show proto bird
+- name: reset | get and remove remaining routes set by bird
+  shell: ip route show proto bird | xargs -i bash -c "ip route del {} proto bird "
   changed_when: false
-  register: bird_routes
-
-- name: reset | remove remaining routes set by bird  # noqa 301
-  command: "ip route del {{ bird_route }} proto bird"
-  with_items: "{{ bird_routes.stdout_lines }}"
-  loop_control:
-    loop_var: bird_route