diff --git a/planetstack/observer/steps/sync_site_privileges.py b/planetstack/observer/steps/sync_site_privileges.py
index e3dde26..8287d44 100644
--- a/planetstack/observer/steps/sync_site_privileges.py
+++ b/planetstack/observer/steps/sync_site_privileges.py
@@ -12,7 +12,7 @@
     def fetch_pending(self):
         return SitePrivilege.objects.filter(Q(enacted__lt=F('updated')) | Q(enacted=None))
 
-    def sync_record(self, user):
+    def sync_record(self, site_priv):
         if site_priv.user.kuser_id and site_priv.site.tenant_id:
             self.driver.add_user_role(site_priv.user.kuser_id,
                                       site_priv.site.tenant_id,
diff --git a/planetstack/observer/steps/sync_slice_memberships.py b/planetstack/observer/steps/sync_slice_memberships.py
index d0936c4..ffc6eb8 100644
--- a/planetstack/observer/steps/sync_slice_memberships.py
+++ b/planetstack/observer/steps/sync_slice_memberships.py
@@ -12,7 +12,7 @@
     def fetch_pending(self):
         return SlicePrivilege.objects.filter(Q(enacted__lt=F('updated')) | Q(enacted=None))
 
-    def sync_record(self, user):
+    def sync_record(self, slice_memb):
         if slice_memb.user.kuser_id and slice_memb.slice.tenant_id:
                 self.driver.add_user_role(slice_memb.user.kuser_id,
                                           slice_memb.slice.tenant_id,
diff --git a/planetstack/observer/syncstep.py b/planetstack/observer/syncstep.py
index ce7191c..031a3bc 100644
--- a/planetstack/observer/syncstep.py
+++ b/planetstack/observer/syncstep.py
@@ -48,7 +48,7 @@
         for dep in self.dependencies:
             peer_object = getattr(obj, dep.lower())
             if (peer_object.pk==failed.pk):
-                raise DependencyFailed
+                raise FailedDependency
 
     def call(self, failed=[]):
         pending = self.fetch_pending()
