diff --git a/tests/testcases/040_check-network-adv.yml b/tests/testcases/040_check-network-adv.yml
index 2d32f3d82d7d4dd050f404fd186fa159c8fed849..2c765bd72e3e86451e0cc3139c13560e74552708 100644
--- a/tests/testcases/040_check-network-adv.yml
+++ b/tests/testcases/040_check-network-adv.yml
@@ -2,11 +2,11 @@
 - hosts: kube_node
   tasks:
     - name: Test tunl0 routes
-      shell: "set -o pipefail && ! /sbin/ip ro | grep '/26 via' | grep -v tunl0"
+      shell: "set -o pipefail && ! /sbin/ip ro | grep '/{{ calico_pool_blocksize}} | default(26) via' | grep -v tunl0"
       args:
         executable: /bin/bash
       when:
-        - (ipip|default(true) or cloud_provider is defined)
+        - (calico_ipip_mode is defined and calico_ipip_mode != 'Never' or cloud_provider is defined)
         - kube_network_plugin|default('calico') == 'calico'
 
 - hosts: k8s_cluster