diff --git a/src/ethernet_interface.cpp b/src/ethernet_interface.cpp
index 2e42e7f..2e1e252 100644
--- a/src/ethernet_interface.cpp
+++ b/src/ethernet_interface.cpp
@@ -888,6 +888,14 @@
     std::filesystem::remove(config::pathForIntfConf(confDir, intf), ec);
     std::filesystem::remove(config::pathForIntfDev(confDir, intf), ec);
 
+    if (eth.ifIdx > 0)
+    {
+        eth.manager.interfacesByIdx.erase(eth.ifIdx);
+    }
+    auto it = eth.manager.interfaces.find(intf);
+    auto obj = std::move(it->second);
+    eth.manager.interfaces.erase(it);
+
     // Write an updated parent interface since it has a VLAN entry
     for (const auto& [_, intf] : eth.manager.interfaces)
     {
@@ -900,11 +908,14 @@
     if (eth.ifIdx > 0)
     {
         // We need to forcibly delete the interface as systemd does not
-        system::deleteIntf(eth.ifIdx);
+        eth.manager.addReloadPostHook(
+            [idx = eth.ifIdx]() { system::deleteIntf(idx); });
 
-        eth.manager.interfacesByIdx.erase(eth.ifIdx);
+        // Ignore the interface so the reload doesn't re-query it
+        eth.manager.ignoredIntf.emplace(eth.ifIdx);
     }
-    eth.manager.interfaces.erase(intf);
+
+    eth.manager.reloadConfigs();
 }
 
 } // namespace network
