diff --git a/lib/private/share/share.php b/lib/private/share/share.php
index b09adf1aa99f76a7eb15c9a74ce08de236b7fb8e..149dd082bbcdc913efe44a7a484d8ac43bf4c6f4 100644
--- a/lib/private/share/share.php
+++ b/lib/private/share/share.php
@@ -2495,7 +2495,8 @@ class Share extends Constants {
 			if ($fileDependent) {
 				$select = '`*PREFIX*share`.`id`, `*PREFIX*share`.`parent`, `share_type`, `path`, `storage`, '
 					. '`share_with`, `uid_owner` , `file_source`, `stime`, `*PREFIX*share`.`permissions`, '
-					. '`*PREFIX*storages`.`id` AS `storage_id`, `*PREFIX*filecache`.`parent` as `file_parent`';
+					. '`*PREFIX*storages`.`id` AS `storage_id`, `*PREFIX*filecache`.`parent` as `file_parent`, '
+					. '`uid_initiator`';
 			} else {
 				$select = '`id`, `parent`, `share_type`, `share_with`, `uid_owner`, `item_source`, `stime`, `*PREFIX*share`.`permissions`';
 			}
@@ -2583,6 +2584,9 @@ class Share extends Constants {
 			$statuses = array();
 			foreach ($items as $item) {
 				if ($item['share_type'] === self::SHARE_TYPE_LINK) {
+					if ($item['uid_initiator'] !== \OC::$server->getUserSession()->getUser()->getUID()) {
+						continue;
+					}
 					$statuses[$item[$column]]['link'] = true;
 				} else if (!isset($statuses[$item[$column]])) {
 					$statuses[$item[$column]]['link'] = false;