diff --git a/xos/synchronizer/steps/sync_instances.py b/xos/synchronizer/steps/sync_instances.py
index 3682fd3..c43498f 100644
--- a/xos/synchronizer/steps/sync_instances.py
+++ b/xos/synchronizer/steps/sync_instances.py
@@ -2,13 +2,15 @@
 import base64
 import socket
 from xos.config import Config
-from xos.settings import RESTAPI_HOSTNAME, RESTAPI_PORT
 from synchronizers.openstack.openstacksyncstep import OpenStackSyncStep
 from synchronizers.new_base.ansible_helper import *
 from synchronizers.new_base.syncstep import *
 from xos.logger import observer_logger as logger
 from synchronizers.new_base.modelaccessor import *
 
+RESTAPI_HOSTNAME = getattr(Config(), "server_restapi_hostname", getattr(Config(), "server_hostname", socket.gethostname()))
+RESTAPI_PORT = int(getattr(Config(), "server_restapi_port", getattr(Config(), "server_port", "8000")))
+
 def escape(s):
     s = s.replace('\n',r'\n').replace('"',r'\"')
     return s
diff --git a/xos/synchronizer/steps/sync_ports.py b/xos/synchronizer/steps/sync_ports.py
index d6f1303..cfd697f 100644
--- a/xos/synchronizer/steps/sync_ports.py
+++ b/xos/synchronizer/steps/sync_ports.py
@@ -216,7 +216,8 @@
 
     def delete_ports(self):
         logger.info("sync'ing Ports [delete=True]")
-        for port in Port.deleted_objects.all():
+        ports = self.fetch_pending(deletion=True)
+        for port in ports:
             self.delete_record(port)
 
     def delete_record(self, port):
