diff --git a/apps/files_sharing/lib/sharedstorage.php b/apps/files_sharing/lib/sharedstorage.php
index e54f747d3ba2b30de277446759ecce79c8ba7aec..ff01489d77b355444b4dafd59ccf6106be78b228 100644
--- a/apps/files_sharing/lib/sharedstorage.php
+++ b/apps/files_sharing/lib/sharedstorage.php
@@ -632,7 +632,7 @@ class Shared extends \OC\Files\Storage\Common implements ISharedStorage {
 		// lock the parent folders of the owner when locking the share as recipient
 		if ($path === '') {
 			$sourcePath = $this->ownerView->getPath($this->share['file_source']);
-			$this->ownerView->lockFile($sourcePath, ILockingProvider::LOCK_SHARED, true);
+			$this->ownerView->lockFile(dirname($sourcePath), ILockingProvider::LOCK_SHARED, true);
 		}
 	}
 
@@ -648,7 +648,7 @@ class Shared extends \OC\Files\Storage\Common implements ISharedStorage {
 		// unlock the parent folders of the owner when unlocking the share as recipient
 		if ($path === '') {
 			$sourcePath = $this->ownerView->getPath($this->share['file_source']);
-			$this->ownerView->unlockFile($sourcePath, ILockingProvider::LOCK_SHARED, true);
+			$this->ownerView->unlockFile(dirname($sourcePath), ILockingProvider::LOCK_SHARED, true);
 		}
 	}
 
diff --git a/apps/files_sharing/tests/locking.php b/apps/files_sharing/tests/locking.php
index 46afbf294beabf135953c81803a1b52b60f927be..6d13fc1cda57f750b618151230f117934915cce3 100644
--- a/apps/files_sharing/tests/locking.php
+++ b/apps/files_sharing/tests/locking.php
@@ -87,4 +87,15 @@ class Locking extends TestCase {
 
 		$this->assertTrue(Filesystem::rename('/foo', '/asd'));
 	}
+
+	public function testChangeLock() {
+
+		Filesystem::initMountPoints($this->recipientUid);
+		$recipientView = new View('/' . $this->recipientUid . '/files');
+		$recipientView->lockFile('bar.txt', ILockingProvider::LOCK_SHARED);
+		$recipientView->changeLock('bar.txt', ILockingProvider::LOCK_EXCLUSIVE);
+		$recipientView->unlockFile('bar.txt', ILockingProvider::LOCK_EXCLUSIVE);
+
+		$this->assertTrue(true);
+	}
 }