diff --git a/apps/files/js/dist/personal-settings.js b/apps/files/js/dist/personal-settings.js
index 20970e33caa257f43afa0bb3618af490b555f140..26b0e4b3dfb31e8bc965b1de5da79d78cd32dede 100644
Binary files a/apps/files/js/dist/personal-settings.js and b/apps/files/js/dist/personal-settings.js differ
diff --git a/apps/files/js/dist/personal-settings.js.map b/apps/files/js/dist/personal-settings.js.map
index bbb3d3711552358ad0f6f00c39a8cb62786e71c3..34ba027ae299d499da038a9985957a0aca5ae5b2 100644
Binary files a/apps/files/js/dist/personal-settings.js.map and b/apps/files/js/dist/personal-settings.js.map differ
diff --git a/apps/files/lib/Controller/TransferOwnershipController.php b/apps/files/lib/Controller/TransferOwnershipController.php
index 639e73187ca52b06f9f965d1c3a64d0a10bc1947..0b33e12e88f22fb9008e10ea9ea042607e811533 100644
--- a/apps/files/lib/Controller/TransferOwnershipController.php
+++ b/apps/files/lib/Controller/TransferOwnershipController.php
@@ -96,6 +96,10 @@ class TransferOwnershipController extends OCSController {
 			return new DataResponse([], Http::STATUS_BAD_REQUEST);
 		}
 
+		if ($node->getOwner()->getUID() !== $this->userId) {
+			return new DataResponse([], Http::STATUS_FORBIDDEN);
+		}
+
 		$transferOwnership = new TransferOwnershipEntity();
 		$transferOwnership->setSourceUser($this->userId);
 		$transferOwnership->setTargetUser($recipient);
diff --git a/apps/files/src/components/TransferOwnershipDialogue.vue b/apps/files/src/components/TransferOwnershipDialogue.vue
index e88698c9a4fd4be179d3a260fa51ca8e7e6c817a..d6b56f118d45921413dac51fa63d60995e4c18bb 100644
--- a/apps/files/src/components/TransferOwnershipDialogue.vue
+++ b/apps/files/src/components/TransferOwnershipDialogue.vue
@@ -215,7 +215,11 @@ export default {
 				.catch(error => {
 					logger.error('Could not send ownership transfer request', { error })
 
-					this.submitError = error.message || t('files', 'Unknown error')
+					if (error?.response?.status === 403) {
+						this.submitError = t('files', 'Cannot transfter ownership of a file or folder you don\'t own')
+					} else {
+						this.submitError = error.message || t('files', 'Unknown error')
+					}
 				})
 		},
 	},