diff --git a/xos/synchronizers/base/ansible.py b/xos/synchronizers/base/ansible.py
index 56a37ea..dccffec 100644
--- a/xos/synchronizers/base/ansible.py
+++ b/xos/synchronizers/base/ansible.py
@@ -12,12 +12,8 @@
 from xos.config import Config, XOS_DIR
 from xos.logger import observer_logger
 
-try:
-    step_dir = Config().observer_steps_dir
-    sys_dir = Config().observer_sys_dir
-except:
-    step_dir = XOS_DIR + '/synchronizers/openstack/steps'
-    sys_dir = '/opt/opencloud'
+step_dir = Config().observer_steps_dir
+sys_dir = Config().observer_sys_dir
 
 os_template_loader = jinja2.FileSystemLoader( searchpath=step_dir)
 os_template_env = jinja2.Environment(loader=os_template_loader)
diff --git a/xos/synchronizers/base/backend.py b/xos/synchronizers/base/backend.py
index 3526d55..b43bdfe 100644
--- a/xos/synchronizers/base/backend.py
+++ b/xos/synchronizers/base/backend.py
@@ -15,14 +15,14 @@
     def run(self):
         update_diag(sync_start=time.time(), backend_status="0 - Synchronizer Start")
 
-        # start the openstack observer
+        # start the observer
         observer = XOSObserver()
         observer_thread = threading.Thread(target=observer.run,name='synchronizer')
         observer_thread.start()
 
         # start model policies thread
         observer_name = getattr(Config(), "observer_name", "")
-        if (not observer_name):
+        if (not observer_name) or (observer_name=="openstack"):
             from synchronizers.model_policy import run_policy
             model_policy_thread = threading.Thread(target=run_policy)
             model_policy_thread.start()
diff --git a/xos/synchronizers/base/diag.py b/xos/synchronizers/base/diag.py
index 87fab70..86874d6 100644
--- a/xos/synchronizers/base/diag.py
+++ b/xos/synchronizers/base/diag.py
@@ -11,10 +11,7 @@
 logger = Logger(level=logging.INFO)
 
 def update_diag(loop_end=None, loop_start=None, syncrecord_start=None, sync_start=None, backend_status=None):
-    try:
-        observer_name = Config().observer_name
-    except:
-        observer_name = 'openstack'
+    observer_name = Config().observer_name
 
     try:
         diag = Diag.objects.filter(name=observer_name).first()
diff --git a/xos/synchronizers/base/event_loop.py b/xos/synchronizers/base/event_loop.py
index 47845f6..225c018 100644
--- a/xos/synchronizers/base/event_loop.py
+++ b/xos/synchronizers/base/event_loop.py
@@ -123,10 +123,7 @@
 
 	def load_sync_step_modules(self, step_dir=None):
 		if step_dir is None:
-			if hasattr(Config(), "observer_steps_dir"):
-				step_dir = Config().observer_steps_dir
-			else:
-				step_dir = XOS_DIR + "/synchronizers/openstack/steps"
+			step_dir = Config().observer_steps_dir
 
 		for fn in os.listdir(step_dir):
 			pathname = os.path.join(step_dir,fn)
