diff --git a/docs/calico.md b/docs/calico.md
index be63d2ce4d1d6e89ccc1c2b8ac29e63838e80c67..9112ce3c750e8f5ea079357f05255822a5eaeb90 100644
--- a/docs/calico.md
+++ b/docs/calico.md
@@ -295,7 +295,6 @@ To enable the eBPF dataplane support ensure you add the following to your invent
 
 ```yaml
 calico_bpf_enabled: true
-kube_proxy_remove: true
 ```
 
 **NOTE:** there is known incompatibility in using the `kernel-kvm` kernel package on Ubuntu OSes because it is missing support for `CONFIG_NET_SCHED` which is a requirement for Calico eBPF support. When using Calico eBPF with Ubuntu ensure you run the `-generic` kernel.
diff --git a/roles/kubernetes/preinstall/tasks/0020-verify-settings.yml b/roles/kubernetes/preinstall/tasks/0020-verify-settings.yml
index 524027c18cf7c694d9573dea0237e1c3b983b024..04c6dc7ab132938cb6f63cd6e0c7158fafdbf996 100644
--- a/roles/kubernetes/preinstall/tasks/0020-verify-settings.yml
+++ b/roles/kubernetes/preinstall/tasks/0020-verify-settings.yml
@@ -56,16 +56,6 @@
     - kube_network_plugin == 'calico'
     - not ignore_assert_errors
 
-- name: Stop if kube-proxy is enabled when using eBPF dataplane
-  assert:
-    that:
-      - kube_proxy_remove
-    msg: "kube-proxy needs to be disabled when using Calico with eBPF dataplane"
-  when:
-    - calico_bpf_enabled | default(false)
-    - kube_network_plugin == 'calico'
-    - not ignore_assert_errors
-
 - name: Stop if unsupported version of Kubernetes
   assert:
     that: kube_version is version(kube_version_min_required, '>=')
diff --git a/roles/kubespray-defaults/defaults/main.yaml b/roles/kubespray-defaults/defaults/main.yaml
index 488e1ae5bf3025c07dee2f865ceb333fe1706153..8b5b78ddfd2fe321db8019deb7d1c7cda32bbd7a 100644
--- a/roles/kubespray-defaults/defaults/main.yaml
+++ b/roles/kubespray-defaults/defaults/main.yaml
@@ -32,6 +32,8 @@ kubeadm_init_phases_skip: >-
   {{ kubeadm_init_phases_skip_default }} + [ "addon/kube-proxy" ]
   {%- elif kube_network_plugin == 'cilium' and (cilium_kube_proxy_replacement is defined and cilium_kube_proxy_replacement == 'strict') -%}
   {{ kubeadm_init_phases_skip_default }} + [ "addon/kube-proxy" ]
+  {%- elif kube_network_plugin == 'calico' and (calico_bpf_enabled is defined and calico_bpf_enabled) -%}
+  {{ kubeadm_init_phases_skip_default }} + [ "addon/kube-proxy" ]
   {%- elif kube_proxy_remove is defined and kube_proxy_remove -%}
   {{ kubeadm_init_phases_skip_default }} + [ "addon/kube-proxy" ]
   {%- else -%}
diff --git a/tests/files/packet_centos8-calico-ha-ebpf.yml b/tests/files/packet_centos8-calico-ha-ebpf.yml
index d7be81a97793a73f0a157f784091f92b04795d94..d3713c2be0b02832ad08b911de3a965d8dc0fabd 100644
--- a/tests/files/packet_centos8-calico-ha-ebpf.yml
+++ b/tests/files/packet_centos8-calico-ha-ebpf.yml
@@ -9,7 +9,6 @@ kube_network_plugin: calico
 deploy_netchecker: true
 
 calico_bpf_enabled: true
-kube_proxy_remove: true
 loadbalancer_apiserver_localhost: true
 use_localhost_as_kubeapi_loadbalancer: true