diff --git a/systemd/defaults.yaml b/systemd/defaults.yaml
index c49268c41e134268b46f471ad268f3d4609ec4aa..0beec5683b0db00c19e6319bdfde8e184dd3df69 100644
--- a/systemd/defaults.yaml
+++ b/systemd/defaults.yaml
@@ -25,7 +25,7 @@ systemd:
     fileattr: {}
     path: /etc/systemd/network
     service: systemd-networkd
-    wait_online: true
+    wait_online: false
 
   resolved:
     config_source: file
diff --git a/systemd/networkd/init.sls b/systemd/networkd/init.sls
index 8c7e1976b9f91858da519634d3f5c7f480206921..3d23216f3400c7aac43a86d96767343b15ac86ac 100644
--- a/systemd/networkd/init.sls
+++ b/systemd/networkd/init.sls
@@ -2,6 +2,7 @@
 {%- from "systemd/libtofs.jinja" import files_switch with context -%}
 
 {%- set networkd = systemd.get('networkd', {}) %}
+{%- set service_wait_online = 'systemd-networkd-wait-online' %}
 
 networkd:
   {%- if networkd.pkg %}
@@ -31,8 +32,11 @@ networkd:
     - enable: True
 
 {%- if networkd.wait_online %}
+wait_online-service-enabled:
+  service.enabled:
+    - name: {{ service_wait_online }}
+
 wait_online:
   service.running:
-    - name: systemd-networkd-wait-online
-    - enable: True
+    - name: {{ service_wait_online }}
 {%- endif %}
diff --git a/systemd/osfingermap.yaml b/systemd/osfingermap.yaml
index 3cff5bcd5f8485c9b3366eca52f17b93d3416b04..fa5b58c40f105b7eb44620ea86c874377e758f2b 100644
--- a/systemd/osfingermap.yaml
+++ b/systemd/osfingermap.yaml
@@ -7,15 +7,24 @@
 # Only add an `osfinger` which is/will be supported by the formula
 # (empty `osfinger`s do not need to be listed, just added here as an example).
 ---
+# os_family/os: Debian/Debian
+Debian-9:
+  networkd:
+    wait_online: true
+
 # os_family/os: RedHat/CentOS
 CentOS Linux-7:
   pkgs_extra:
     - systemd-python
+  networkd:
+    wait_online: true
 
 # os_family/os: RedHat/Amazon
 Amazon Linux-2:
   pkgs_extra:
     - systemd-python
+  networkd:
+    wait_online: true
 
 # os_family/os: RedHat/OEL
 Oracle Linux Server-7: