diff --git a/events.xml b/events.xml
index f6214abbf9046552011efa96c2372c75dc008258..e0fe92732163705d0824c962f72ea959dc5f1f78 100644
--- a/events.xml
+++ b/events.xml
@@ -1,7 +1,10 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <events>
     <event on="onPackageSetup" fire="\QUI\Memberships\Events::onPackageSetup"/>
+
     <event on="onUserSave" fire="\QUI\Memberships\Events::onUserSave"/>
+    <event on="onUserDelete" fire="\QUI\Memberships\Events::onUserDelete"/>
+
     <event on="onQuiqqerOrderSuccessful" fire="\QUI\Memberships\Events::onQuiqqerOrderSuccessful" priority="5"/>
     <event on="onQuiqqerProductsFieldDeleteBefore" fire="\QUI\Memberships\Events::onQuiqqerProductsFieldDeleteBefore"/>
 
diff --git a/src/QUI/Memberships/Events.php b/src/QUI/Memberships/Events.php
index e0801ba0c22ce90c05663c915502fdd55fde18f0..55ad3ee3e1bdecdf4e17e2d92f5b79dea65e4496 100644
--- a/src/QUI/Memberships/Events.php
+++ b/src/QUI/Memberships/Events.php
@@ -123,6 +123,23 @@ public static function onUserSave(QUI\Users\User $User)
         }
     }
 
+    /**
+     * quiqqer/quiqqer: onUserDelete
+     *
+     * Delete user from alle memberships
+     *
+     * @param QUI\Users\User $User
+     * @return void
+     */
+    public static function onUserDelete(QUI\Users\User $User): void
+    {
+        $membershipUsers = QUI\Memberships\Users\Handler::getInstance()->getMembershipUsersByUserId($User->getId());
+
+        foreach ($membershipUsers as $MembershipUser) {
+            $MembershipUser->delete();
+        }
+    }
+
     /**
      * quiqqer/products
      *
diff --git a/src/QUI/Memberships/Membership.php b/src/QUI/Memberships/Membership.php
index 5d40e9a664bc5ff232dc910221ba7da5fa026a15..6e540b69340285bf753ba190e958edef825c061e 100644
--- a/src/QUI/Memberships/Membership.php
+++ b/src/QUI/Memberships/Membership.php
@@ -375,9 +375,10 @@ public function searchUsers($searchParams, $archivedOnly = false, $countOnly = f
             $sql = "SELECT `musers`.id";
         }
 
-        $sql .= " FROM `".$tbl."` musers, `".$usersTbl."` users";
+        $sql .= " FROM `".$tbl."` musers LEFT JOIN `".$usersTbl."` users";
+        $sql .= ' ON `musers`.userId = `users`.id';
 
-        $where[] = '`musers`.userId = `users`.id';
+//        $where[] = '`musers`.userId = `users`.id';
         $where[] = '`musers`.membershipId = '.$this->id;
 
         if ($archivedOnly === false) {
@@ -420,8 +421,7 @@ public function searchUsers($searchParams, $archivedOnly = false, $countOnly = f
         }
 
         // ORDER
-        if (!empty($searchParams['sortOn'])
-        ) {
+        if (!empty($searchParams['sortOn'])) {
             $sortOn = Orthos::clear($searchParams['sortOn']);
 
             switch ($sortOn) {
diff --git a/src/QUI/Memberships/Users/MembershipUser.php b/src/QUI/Memberships/Users/MembershipUser.php
index 4a28fb046f60f37f413f3cd6db91fc5f5bd645ee..675f569c8afabb5457635bc8ba9f9aeec203fa74 100644
--- a/src/QUI/Memberships/Users/MembershipUser.php
+++ b/src/QUI/Memberships/Users/MembershipUser.php
@@ -762,9 +762,14 @@ public function getUserId()
      * @return QUI\Users\User
      * @throws \QUI\Exception
      */
-    public function getUser()
+    public function getUser(): ?QUI\Users\User
     {
-        return QUI::getUsers()->get($this->getUserId());
+        try {
+            return QUI::getUsers()->get($this->getUserId());
+        } catch (\Exception $Exception) {
+            QUI\System\Log::writeException($Exception);
+            return null;
+        }
     }
 
     /**
@@ -1073,13 +1078,13 @@ public function getBackendViewData()
 
         return [
             'id'              => $this->getId(),
-            'userId'          => $QuiqqerUser->getId(),
+            'userId'          => $this->getUserId(),
             'membershipId'    => $Membership->getId(),
             'membershipTitle' => $Membership->getTitle(),
-            'username'        => $QuiqqerUser->getUsername(),
-            'firstname'       => $QuiqqerUser->getAttribute('firstname'),
-            'lastname'        => $QuiqqerUser->getAttribute('lastname'),
-            'fullName'        => $QuiqqerUser->getName(),
+            'username'        => $QuiqqerUser ? $QuiqqerUser->getUsername() : '-',
+            'firstname'       => $QuiqqerUser ? $QuiqqerUser->getAttribute('firstname') : '-',
+            'lastname'        => $QuiqqerUser ? $QuiqqerUser->getAttribute('lastname') : '-',
+            'fullName'        => $QuiqqerUser ? $QuiqqerUser->getName() : '-',
             'addedDate'       => $this->getAttribute('addedDate'),
             'beginDate'       => $this->getAttribute('beginDate'),
             'endDate'         => $this->getAttribute('endDate'),