diff --git a/obmc/mapper/server.py b/obmc/mapper/server.py
index 8d23a4c..97845f1 100644
--- a/obmc/mapper/server.py
+++ b/obmc/mapper/server.py
@@ -391,9 +391,10 @@
 
         for path, item in self.cache.dataitems():
             old = self.interfaces_get(item, owned_name)
-            # remove all interfaces for this service
-            self.update_interfaces(
-                path, owned_name, old=old, new=[])
+            if old:
+                # remove all interfaces for this service
+                self.update_interfaces(
+                    path, owned_name, old=old, new=[])
 
     def bus_handler(self, owned_name, old, new):
         if obmc.dbuslib.bindings.is_unique(owned_name) or \
