diff --git a/planetstack/observer/syncstep.py b/planetstack/observer/syncstep.py
index f3eb4ba..68e9f99 100644
--- a/planetstack/observer/syncstep.py
+++ b/planetstack/observer/syncstep.py
@@ -39,14 +39,13 @@
 		return Sliver.objects.filter(ip=None)
 	
 	def check_dependencies(self, obj):
-		for dep in dependencies:
+		for dep in self.dependencies:
 			peer_object = getattr(obj, dep.name.lowercase())
 			if (peer_object.pk==dep.pk):
 				raise DependencyFailed
 
-	def call(self, failed=failed_objects):
+	def call(self, failed=[]):
 		pending = self.fetch_pending()
-		failed = []
 		for o in pending:
 			if (not self.depends_on(o, failed)):
 				try:
