diff --git a/planetstack/observer/deleters/user_deleter.py b/planetstack/observer/deleters/user_deleter.py
index b82ea4a..3573f8d 100644
--- a/planetstack/observer/deleters/user_deleter.py
+++ b/planetstack/observer/deleters/user_deleter.py
@@ -1,15 +1,13 @@
 from core.models import User, UserDeployments
 from observer.deleter import Deleter
+from observer.deleters.user_deployment_deleter import UserDeploymentDeleter
 
 class UserDeleter(Deleter):
     model='User'
 
     def call(self, pk):
         user = User.objects.get(pk=pk)
-        user_deployments = UserDeployments.objects.filter(user=user)
-        for user_deployment in user_deployments:
-            if user_deployment.user.kuser_id:
-                driver = self.driver.admin_driver(deployment=user_deployment.deployment.name)
-                driver.delete_user(user_deployment.user.kuser_id)
-            user_deployment.delete()
+        user_deployment_deleter = UserDeploymentDeleter()
+        for user_deployment in UserDeployments.objects.filter(user=user):
+            user_deployment_deleter(user_deployment.id)
         user.delete()
