diff --git a/apps/files/lib/Service/OwnershipTransferService.php b/apps/files/lib/Service/OwnershipTransferService.php
index afef5d2093d..5e536ffa48f 100644
--- a/apps/files/lib/Service/OwnershipTransferService.php
+++ b/apps/files/lib/Service/OwnershipTransferService.php
@@ -17,6 +17,7 @@ use OC\User\NoUserException;
use OCA\Encryption\Util;
use OCA\Files\Exception\TransferOwnershipException;
use OCA\Files_External\Config\ConfigAdapter;
+use OCA\GroupFolders\Mount\GroupMountPoint;
use OCP\Encryption\IManager as IEncryptionManager;
use OCP\Files\Config\IHomeMountProvider;
use OCP\Files\Config\IUserMountCache;
@@ -157,6 +158,28 @@ class OwnershipTransferService {
);
$sizeDifference = $sourceSize - $view->getFileInfo($finalTarget)->getSize();
+ // Files in Team folders are not transferred, so their size needs to be subtracted to avoid warnings about size differences
+ $mounts = Server::get(IMountManager::class)->getAll();
+ foreach ($mounts as $mount) {
+ if (!$mount instanceof GroupMountPoint || !str_starts_with($mount->getMountPoint(), '/' . $sourcePath . '/')) {
+ continue;
+ }
+
+ $storage = $mount->getStorage();
+ if ($storage === null) {
+ $output->writeln('Failed to get storage for mount: ' . $mount->getMountPoint());
+ continue;
+ }
+
+ $rootCacheEntry = $storage->getCache()->get('');
+ if ($rootCacheEntry === false) {
+ $output->writeln('Failed to get root cache entry for storage: ' . $mount->getMountPoint());
+ continue;
+ }
+
+ $sizeDifference -= $rootCacheEntry->getSize();
+ }
+
// transfer the incoming shares
$sourceShares = $this->collectIncomingShares(
$sourceUid,
diff --git a/psalm.xml b/psalm.xml
index 648b250c38b..b5e6fd45d1b 100644
--- a/psalm.xml
+++ b/psalm.xml
@@ -109,6 +109,7 @@
+