diff --git a/reset.yml b/reset.yml
index 80d8f158cc631a2330c10c74716bf8fac9720145..20015700a53777b798a71e2d2220289fb79da490 100644
--- a/reset.yml
+++ b/reset.yml
@@ -32,4 +32,5 @@
   environment: "{{ proxy_disable_env }}"
   roles:
     - { role: kubespray-defaults}
+    - { role: kubernetes/preinstall, when: "dns_mode != 'none' and resolvconf_mode == 'host_resolvconf'", tags: resolvconf, dns_early: true }
     - { role: reset, tags: reset }
diff --git a/roles/kubernetes/preinstall/templates/resolved.conf.j2 b/roles/kubernetes/preinstall/templates/resolved.conf.j2
index 0cd28c9610a9df90d74ea01985501b1d1557687b..cfb924e47e4f32790d7d4b1610204f61e763b7a3 100644
--- a/roles/kubernetes/preinstall/templates/resolved.conf.j2
+++ b/roles/kubernetes/preinstall/templates/resolved.conf.j2
@@ -1,6 +1,10 @@
 [Resolve]
+{% if dns_early is sameas true and dns_late is sameas false %}
+#DNS=
+{% else %}
 DNS={{ ([nodelocaldns_ip] if enable_nodelocaldns else coredns_server )| list | join(' ') }}
-FallbackDNS={{ ( nameservers|d([]) + cloud_resolver|d([])) | unique | join(' ') }}
+{% endif %}
+FallbackDNS={{ ( upstream_dns_servers|d([]) + nameservers|d([]) + cloud_resolver|d([])) | unique | join(' ') }}
 Domains={{ ([ 'default.svc.' + dns_domain, 'svc.' + dns_domain ] + searchdomains|default([])) | join(' ') }}
 #LLMNR=no
 #MulticastDNS=no