diff --git a/apps/files/lib/Service/OwnershipTransferService.php b/apps/files/lib/Service/OwnershipTransferService.php
index 28ec03b9d895a..9c5ab80637467 100644
--- a/apps/files/lib/Service/OwnershipTransferService.php
+++ b/apps/files/lib/Service/OwnershipTransferService.php
@@ -147,16 +147,6 @@ public function transfer(
$output
);
- $destinationPath = $finalTarget . '/' . $path;
- // restore the shares
- $this->restoreShares(
- $sourceUid,
- $destinationUid,
- $destinationPath,
- $shares,
- $output
- );
-
// transfer the incoming shares
if ($transferIncomingShares === true) {
$sourceShares = $this->collectIncomingShares(
@@ -181,6 +171,16 @@ public function transfer(
$move
);
}
+
+ $destinationPath = $finalTarget . '/' . $path;
+ // restore the shares
+ $this->restoreShares(
+ $sourceUid,
+ $destinationUid,
+ $destinationPath,
+ $shares,
+ $output
+ );
}
private function sanitizeFolderName(string $name): string {
@@ -465,9 +465,6 @@ private function restoreShares(
}
} catch (\OCP\Files\NotFoundException $e) {
$output->writeln('Share with id ' . $share->getId() . ' points at deleted file, skipping');
- } catch (\OCP\Share\Exceptions\GenericShareException $e) {
- $output->writeln('Share with id ' . $share->getId() . ' is broken, deleting');
- $this->shareManager->deleteShare($share);
} catch (\Throwable $e) {
$output->writeln('Could not restore share with id ' . $share->getId() . ':' . $e->getMessage() . ' : ' . $e->getTraceAsString() . '');
}