diff --git a/networkd/tasks/bond.yml b/networkd/tasks/bond.yml
index b929e13d5f2d63e87b19f3d54b65f4c2597162f3..24fd9ac4f722437a4d6ef68c115de0a79061caa9 100644
--- a/networkd/tasks/bond.yml
+++ b/networkd/tasks/bond.yml
@@ -14,6 +14,13 @@
   copy:
     content: "8021q"
     dest: /etc/modules-load.d/bond.conf
+- name: ensure systemd does not override a default option
+  template:
+    src: modprobe.conf.j2
+    dest: /etc/modprobe.d/systemd-override.conf
+    owner: root
+    group: root
+    mode: '0644'
 - name: ensure bond netdev is configured
   template:
     src: bond.netdev.j2
diff --git a/networkd/templates/modprobe.conf.j2 b/networkd/templates/modprobe.conf.j2
new file mode 100644
index 0000000000000000000000000000000000000000..af0949a5eaed5e305ff56bdbc6ed2a79d4431289
--- /dev/null
+++ b/networkd/templates/modprobe.conf.j2
@@ -0,0 +1,4 @@
+# since buster systemd sets max_bonds=0
+# but we have configured bonding quite heavily
+# internet says that 1 is default
+options bonding max_bonds=1