diff --git a/src/hostinfo/networkmanager.py b/src/hostinfo/networkmanager.py
index 503146e24327509bfc6ce6a9236a953793c5843d..5b8f833a1e5e799a69286230601c97e61785857d 100644
--- a/src/hostinfo/networkmanager.py
+++ b/src/hostinfo/networkmanager.py
@@ -217,6 +217,15 @@ class Network(object):
 
 network = Network()
 
+def interface_is_static(i):
+    if i._static_:
+        return True
+    if i._ip_._dhcpserver_:
+        return True
+    if i._ipv6_._dhcpserver_:
+        return True
+    return False
+
 def ipv6_dhcp_duid(interface):
     duid = set([interface.nm_ipv6_dhcp_duid[0:]])
     for ipv6 in interface._ipv6_:
@@ -264,7 +273,7 @@ def update_settings(settings, update):
 def configure_networking(connection, interface, settings=None):
     # Construct ipv4 and ipv6 data to be set on interface
     update = dict(settings_to_update(settings))
-    if not interface._static_:
+    if not interface_is_static(interface):
         update['connection', 'zone'] = None
         update['ipv4', 'method'] = 'auto'
         update['ipv6', 'method'] = 'auto'