diff --git a/apps/files_sharing/lib_share.php b/apps/files_sharing/lib_share.php
index dd73a20051f34c3ab0051af0fa0401a6622090b2..c862f505e4221a16b1d1e36bb7e0b612c6d38fe2 100644
--- a/apps/files_sharing/lib_share.php
+++ b/apps/files_sharing/lib_share.php
@@ -66,7 +66,8 @@ class OC_Share {
 					throw new Exception("This item is already shared with ".$uid);
 				}
 				// Check if the target already exists for the user, if it does append a number to the name
-				$target = "/".$uid."/files/Shared/".basename($source);
+				$sharedFolder = "/".$uid."/files/Shared";
+				$target = $sharedFolder."/".basename($source);
 				if (self::getSource($target)) {
 					if ($pos = strrpos($target, ".")) {
 						$name = substr($target, 0, $pos);
@@ -87,6 +88,9 @@ class OC_Share {
 					$uid = $uid."@".$gid;
 				}
 				$query->execute(array($uid_owner, $uid, $source, $target, $permissions));
+				// Clear the folder size cache for the 'Shared' folder
+				$clearFolderSize = OC_DB::prepare("DELETE FROM *PREFIX*foldersize WHERE path = ?");
+				$clearFolderSize->execute(array($sharedFolder));
 			}
 		}
 	}