diff --git a/xos/synchronizer/steps/sync_exampletenant.py b/xos/synchronizer/steps/sync_exampletenant.py
index 47c045f..e36a06a 100644
--- a/xos/synchronizer/steps/sync_exampletenant.py
+++ b/xos/synchronizer/steps/sync_exampletenant.py
@@ -27,10 +27,10 @@
         super(SyncExampleTenant, self).__init__(*args, **kwargs)
 
     def get_exampleservice(self, o):
-        if not o.provider_service:
+        if not o.owner:
             return None
 
-        exampleservice = ExampleService.objects.filter(id=o.provider_service.id)
+        exampleservice = ExampleService.objects.filter(id=o.owner.id)
 
         if not exampleservice:
             return None
@@ -62,7 +62,7 @@
 
         objs = ExampleTenant.objects.all()
         for obj in objs:
-            if obj.provider_service.id != monitoring_agent_info.service.id:
+            if obj.owner.id != monitoring_agent_info.service.id:
                 logger.info("handle watch notifications for service monitoring agent info...ignoring because service attribute in monitoring agent info:%s is not matching" % (monitoring_agent_info))
                 return
 
