diff --git a/roles/network_plugin/calico/tasks/check.yml b/roles/network_plugin/calico/tasks/check.yml
index 1acb852ac7e1016313eae20ef9e7354634d96909..78e4cb881806111bd3c8a0eff34500736051370a 100644
--- a/roles/network_plugin/calico/tasks/check.yml
+++ b/roles/network_plugin/calico/tasks/check.yml
@@ -55,8 +55,8 @@
     that:
       - calico_pool_conf.spec.blockSize == (calico_pool_blocksize | default(kube_network_node_prefix))
       - calico_pool_conf.spec.cidr == (calico_pool_cidr | default(kube_pods_subnet))
-      - calico_pool_conf.spec.ipipMode == calico_ipip_mode
-      - calico_pool_conf.spec.vxlanMode == calico_vxlan_mode
+      - not calico_pool_conf.spec.ipipMode is defined or calico_pool_conf.spec.ipipMode == calico_ipip_mode
+      - not calico_pool_conf.spec.vxlanMode is defined or calico_pool_conf.spec.vxlanMode == calico_vxlan_mode
     msg: "Your inventory doesn't match the current cluster configuration"
   when:
     - calico_pool_conf is defined