diff --git a/lib/models/Institute.php b/lib/models/Institute.php
index a10c1c8902e23e4ad0c6f16cff907033807a2b7d..5ecdcefc6c2de578549a00e1f9734774064adba8 100644
--- a/lib/models/Institute.php
+++ b/lib/models/Institute.php
@@ -311,12 +311,18 @@ class Institute extends SimpleORMap implements Range
     public function isEditableByUser($user_id = null): bool
     {
         if ($user_id === null) {
-            $user_id = User::findCurrent()->id;
+            $user = User::findCurrent();
+        } else {
+            $user = User::find($user_id);
+        }
+
+        if (!$user) {
+            return false;
         }
 
-        $member = $this->members->findOneBy('user_id', $user_id);
+        $member = $this->members->findOneBy('user_id', $user->id);
         return ($member && $member->inst_perms === 'admin')
-            || User::find($user_id)->perms === 'root';
+            || $user->perms === 'root';
     }
 
     /**