diff --git a/ansible/kolla-bifrost-hostvars.yml b/ansible/kolla-bifrost-hostvars.yml
index e43bcd7e6b64aede86e45b9a626c5ff8ad403849..c74a4f88bd1502a84ecc2aa25f3762ed6b2453ad 100644
--- a/ansible/kolla-bifrost-hostvars.yml
+++ b/ansible/kolla-bifrost-hostvars.yml
@@ -19,10 +19,10 @@
       ipv4_interface_mac: "{% raw %}{{ extra.pxe_interface_mac | default }}{% endraw %}"
       ipv4_address: "{{ admin_oc_net_name | net_ip }}"
       ipv4_subnet_mask: "{{ admin_oc_net_name | net_mask }}"
-      # If the admin network does not have a gateway defined, use the
-      # seed as a gateway to allow external access until other networks have
-      # been configured.
-      ipv4_gateway: "{{ admin_oc_net_name | net_gateway or admin_oc_net_name | net_ip(seed_host) }}"
+      # If the admin network does not have a gateway defined and seed SNAT is
+      # enabled, use the seed as a gateway to allow external access until other
+      # networks have been configured. Otherwise, do not set any gateway.
+      ipv4_gateway: "{{ admin_oc_net_name | net_gateway or admin_oc_net_name | net_ip(seed_host) if seed_enable_snat | bool }}"
       ipv4_nameserver: "{{ resolv_nameservers }}"
       network_mtu: "{{ admin_oc_net_name | net_mtu or '1500' }}"
       vlan_id: "{{ '' if admin_oc_net_name == provision_oc_net_name else (admin_oc_net_name | net_vlan) }}"
diff --git a/releasenotes/notes/configdrive-gateway-62366f613e6eaac9.yaml b/releasenotes/notes/configdrive-gateway-62366f613e6eaac9.yaml
new file mode 100644
index 0000000000000000000000000000000000000000..f43684f0395670a13dd2d677959eda353a9dc1b2
--- /dev/null
+++ b/releasenotes/notes/configdrive-gateway-62366f613e6eaac9.yaml
@@ -0,0 +1,14 @@
+---
+upgrade:
+  - |
+    If the admin network does not have a gateway defined and
+    ``seed_enable_snat`` is ``false``, which is the default, overcloud hosts
+    will not have a default gateway immediately after provisioning anymore. A
+    default gateway on another network can still be applied during the host
+    configuration step.
+fixes:
+  - |
+    Fixes slow fact gathering in some environments by not configuring the seed
+    host as the initial default gateway for overcloud hosts when
+    ``seed_enable_snat`` is ``false``, which is the default.
+    `LP#2039461 <https://bugs.launchpad.net/kolla-ansible/+bug/2039461>`__