diff --git a/MatrixPlugin.php b/MatrixPlugin.php
index 0d2f50312176f35f46c42c46c17407ea203ae64f..c3b4d05773ffdfebe44b1c264513a15674b8e9e5 100644
--- a/MatrixPlugin.php
+++ b/MatrixPlugin.php
@@ -135,12 +135,13 @@ class MatrixPlugin extends StudIPPlugin implements StandardPlugin
      */
     public function invite($event, $membership)
     {
-        if ($matrix = MatrixAccount::findOneByUser_id($membership->user_id) &&
-                $room = MatrixRoom::findOneByRange_id($membership->seminar_id)) {
+        $matrix = MatrixAccount::findOneByUser_id($membership->user_id);
+        $room = MatrixRoom::findOneByRange_id($membership->seminar_id);
+        if (is_a($matrix, MatrixAccount::class) && is_a($room, MatrixRoom::class)) {
             MatrixClient::get()->inviteIntoRoom(
                 MatrixAccount::requireSystemAccount(),
                 $room->getLinkedRoom(),
-                $matrix->matrix_account_id
+                (string) $matrix->matrix_account_id
             );
         }
     }
@@ -153,8 +154,9 @@ class MatrixPlugin extends StudIPPlugin implements StandardPlugin
      */
     public function uninvite($event, $membership)
     {
-        if ($matrix = MatrixAccount::findOneByUser_id($membership->user_id) &&
-            $room = MatrixRoom::findOneByRange_id($membership->seminar_id)) {
+        $matrix = MatrixAccount::findOneByUser_id($membership->user_id);
+        $room = MatrixRoom::findOneByRange_id($membership->seminar_id);
+        if (is_a($matrix, MatrixAccount::class) && is_a($room, MatrixRoom::class)) {
             MatrixClient::get()->leaveRoom(
                 $matrix->getLinkedAccount(),
                 $room->getLinkedRoom()
@@ -171,7 +173,8 @@ class MatrixPlugin extends StudIPPlugin implements StandardPlugin
      */
     public function unregister($event, $user)
     {
-        if ($account = MatrixAccount::findOneByUser_id($user->id)) {
+        $account = MatrixAccount::findOneByUser_id($user->id);
+        if (is_a($account, MatrixAccount::class)) {
             if (MatrixClient::get()->deactivateAccount($account->getLinkedAccount())) {
                 $account->delete();
             }
@@ -186,7 +189,8 @@ class MatrixPlugin extends StudIPPlugin implements StandardPlugin
      */
     public function deleteRoom($event, $course)
     {
-        if ($room = MatrixRoom::findOneByRange_id($course->id)) {
+        $room = MatrixRoom::findOneByRange_id($course->id);
+        if (is_a($room, MatrixRoom::class)) {
             MatrixClient::get()->deleteRoom(
                 MatrixAccount::requireSystemAccount(),
                 $room->getLinkedRoom()
diff --git a/plugin.manifest b/plugin.manifest
index 630979ae07b43021db48f92e59a0dd14638d7243..7be83dc51425357395270f74b91d8b00f6329de9 100644
--- a/plugin.manifest
+++ b/plugin.manifest
@@ -1,7 +1,7 @@
 pluginname=Matrix-Chat
 pluginclassname=MatrixPlugin
 origin=data-quest
-version=1.4.4
+version=1.4.5
 screenshot=assets/images/matrix_logo.png
 description=Matrix chat for Stud.IP courses
 studipMinVersion=4.5