diff --git a/src/ethernet_interface.cpp b/src/ethernet_interface.cpp
index e5a3110..a7bf8e3 100644
--- a/src/ethernet_interface.cpp
+++ b/src/ethernet_interface.cpp
@@ -341,7 +341,7 @@
     if (ipv6AcceptRA() != EthernetInterfaceIntf::ipv6AcceptRA(value))
     {
         writeConfigurationFile();
-        manager.reloadConfigs();
+        manager.reloadConfigsNoRefresh();
     }
     return value;
 }
@@ -351,7 +351,7 @@
     if (dhcp4() != EthernetInterfaceIntf::dhcp4(value))
     {
         writeConfigurationFile();
-        manager.reloadConfigs();
+        manager.reloadConfigsNoRefresh();
     }
     return value;
 }
@@ -361,7 +361,7 @@
     if (dhcp6() != EthernetInterfaceIntf::dhcp6(value))
     {
         writeConfigurationFile();
-        manager.reloadConfigs();
+        manager.reloadConfigsNoRefresh();
     }
     return value;
 }
@@ -383,7 +383,7 @@
     if (old4 != new4 || old6 != new6 || oldra != newra)
     {
         writeConfigurationFile();
-        manager.reloadConfigs();
+        manager.reloadConfigsNoRefresh();
     }
     return value;
 }
@@ -564,7 +564,7 @@
         EthernetInterfaceIntf::staticNameServers(value);
 
         writeConfigurationFile();
-        manager.reloadConfigs();
+        manager.reloadConfigsNoRefresh();
     }
     catch (const InternalFailure& e)
     {
@@ -717,7 +717,7 @@
         EthernetInterfaceIntf::staticNTPServers(value);
 
         writeConfigurationFile();
-        manager.reloadConfigs();
+        manager.reloadConfigsNoRefresh();
     }
     catch (InternalFailure& e)
     {
