diff --git a/lib/private/group/group.php b/lib/private/group/group.php
index 694827d100e2dd5c5713549f6f8fadb5ccf49629..97f1cb8d960b88dbe5fa6af9f071dca920b1c45d 100644
--- a/lib/private/group/group.php
+++ b/lib/private/group/group.php
@@ -90,14 +90,12 @@ class Group {
 	 * @return bool
 	 */
 	public function inGroup($user) {
-		foreach ($this->users as $cachedUser) {
-			if ($user->getUID() === $cachedUser->getUID()) {
-				return true;
-			}
+		if (isset($this->users[$user->getUID()])) {
+			return true;
 		}
 		foreach ($this->backends as $backend) {
 			if ($backend->inGroup($user->getUID(), $this->gid)) {
-				$this->users[] = $user;
+				$this->users[$user->getUID()] = $user;
 				return true;
 			}
 		}