diff --git a/lib/Files/Util.php b/lib/Files/Util.php
index 1c3fe9a749..2c169d258f 100644
--- a/lib/Files/Util.php
+++ b/lib/Files/Util.php
@@ -25,6 +25,9 @@ declare(strict_types=1);
 namespace OCA\Talk\Files;
 
 use OCA\GroupFolders\Mount\GroupFolderStorage;
+use OCA\Files_Sharing\SharedStorage;
+use OCP\Files\Config\ICachedMountInfo;
+use OCP\Files\Config\IUserMountCache;
 use OCP\Files\FileInfo;
 use OCP\Files\IRootFolder;
 use OCP\Files\Node;
@@ -42,15 +45,19 @@ class Util {
 	private $session;
 	/** @var IShareManager */
 	private $shareManager;
+	/** @var IUserMountCache */
+	private $userMountCache;
 	/** @var array[] */
 	private $accessLists = [];
 
 	public function __construct(IRootFolder $rootFolder,
 			ISession $session,
-			IShareManager $shareManager) {
+			IShareManager $shareManager,
+			IUserMountCache $userMountCache) {
 		$this->rootFolder = $rootFolder;
 		$this->session = $session;
 		$this->shareManager = $shareManager;
+		$this->userMountCache = $userMountCache;
 	}
 
 	public function getUsersWithAccessFile(string $fileId): array {
@@ -63,6 +70,16 @@ class Util {
 
 			$node = array_shift($nodes);
 			$accessList = $this->shareManager->getAccessList($node);
+			if (!$node->getStorage()->instanceOfStorage(SharedStorage::class)) {
+				// The file is not a shared file,
+				// let's check the accesslist for mount points of groupfolders and external storages
+				$mountsForFile = $this->userMountCache->getMountsForFileId($fileId);
+				$affectedUserIds = array_map(function (ICachedMountInfo $mount) {
+					return $mount->getUser()->getUID();
+				}, $mountsForFile);
+
+				$accessList['users'] = array_unique(array_merge($affectedUserIds, $accessList['users']));
+			}
 
 			$this->accessLists[$fileId] = $accessList['users'];
 		}
diff --git a/psalm.xml b/psalm.xml
index 461dd852cd..780898f2bd 100644
--- a/psalm.xml
+++ b/psalm.xml
@@ -24,6 +24,7 @@
 				
 				
 				
+				
 			
 		
 		
diff --git a/tests/php/Files/UtilTest.php b/tests/php/Files/UtilTest.php
index 4b6eb2dac3..2ba41e21bf 100644
--- a/tests/php/Files/UtilTest.php
+++ b/tests/php/Files/UtilTest.php
@@ -25,6 +25,7 @@ namespace OCA\Talk\Tests\php\Files;
 
 use OCA\GroupFolders\Mount\GroupFolderStorage;
 use OCA\Talk\Files\Util;
+use OCP\Files\Config\IUserMountCache;
 use OCP\Files\FileInfo;
 use OCP\Files\Folder;
 use OCP\Files\Node;
@@ -100,10 +101,14 @@ class UtilTest extends TestCase {
 		/** @var IManager|MockObject $shareManager */
 		$shareManager = $this->createMock(IManager::class);
 
+		/** @var IUserMountCache|MockObject $userMountCache */
+		$userMountCache = $this->createMock(IUserMountCache::class);
+
 		$util = new Util(
 			$rootFolder,
 			$session,
-			$shareManager
+			$shareManager,
+			$userMountCache
 		);
 		$result = $util->getGroupFolderNode($fileId, $userId);
 		if ($return !== false) {