diff --git a/lib/models/Institute.class.php b/lib/models/Institute.class.php
index d70548491c639a04b3a63dd135fa8148ee56c5b9..e01d99fc6a549a333d0f0432fc9884ca38165ee9 100644
--- a/lib/models/Institute.class.php
+++ b/lib/models/Institute.class.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';
     }
 
     /**