diff --git a/apps/dav/lib/Connector/Sabre/Node.php b/apps/dav/lib/Connector/Sabre/Node.php
index a63282c75e23d668b74fddd7fb23ce21a9389004..3e2204cf661370910dc608f1b79457d3d5f37851 100644
--- a/apps/dav/lib/Connector/Sabre/Node.php
+++ b/apps/dav/lib/Connector/Sabre/Node.php
@@ -250,8 +250,8 @@ abstract class Node implements \Sabre\DAV\INode {
 
 		$path = $this->info->getInternalPath();
 
-		if ($storage->instanceOfStorage('\OC\Files\Storage\Shared')) {
-			/** @var \OC\Files\Storage\Shared $storage */
+		if ($storage->instanceOfStorage('\OCA\Files_Sharing\SharedStorage')) {
+			/** @var \OCA\Files_Sharing\SharedStorage $storage */
 			$permissions = (int)$storage->getShare()->getPermissions();
 		} else {
 			$permissions = $storage->getPermissions($path);
diff --git a/apps/dav/tests/unit/Connector/Sabre/DirectoryTest.php b/apps/dav/tests/unit/Connector/Sabre/DirectoryTest.php
index fedf76f79296c75159a67eb7f92b0ee870bb0e48..18f91bbd8c94a9c5c808219fc1110f91db4b6a94 100644
--- a/apps/dav/tests/unit/Connector/Sabre/DirectoryTest.php
+++ b/apps/dav/tests/unit/Connector/Sabre/DirectoryTest.php
@@ -216,7 +216,7 @@ class DirectoryTest extends \Test\TestCase {
 		$storage->expects($this->any())
 			->method('instanceOfStorage')
 			->will($this->returnValueMap([
-				'\OC\Files\Storage\Shared' => false,
+				'\OCA\Files_Sharing\SharedStorage' => false,
 				'\OC\Files\Storage\Wrapper\Quota' => false,
 			]));
 
@@ -247,7 +247,7 @@ class DirectoryTest extends \Test\TestCase {
 		$storage->expects($this->any())
 			->method('instanceOfStorage')
 			->will($this->returnValueMap([
-				['\OC\Files\Storage\Shared', false],
+				['\OCA\Files_Sharing\SharedStorage', false],
 				['\OC\Files\Storage\Wrapper\Quota', true],
 			]));
 
diff --git a/apps/federatedfilesharing/tests/TestCase.php b/apps/federatedfilesharing/tests/TestCase.php
index f8a47f273368a75b9637dad3db6b8b9f4eb327d9..3ce1cac860c0c44cb4fdc62f4cd5bab829225ab3 100644
--- a/apps/federatedfilesharing/tests/TestCase.php
+++ b/apps/federatedfilesharing/tests/TestCase.php
@@ -113,7 +113,7 @@ abstract class TestCase extends \Test\TestCase {
 	 * reset init status for the share storage
 	 */
 	protected static function resetStorage() {
-		$storage = new \ReflectionClass('\OC\Files\Storage\Shared');
+		$storage = new \ReflectionClass('\OCA\Files_Sharing\SharedStorage');
 		$isInitialized = $storage->getProperty('initialized');
 		$isInitialized->setAccessible(true);
 		$isInitialized->setValue($storage, false);
diff --git a/apps/files_sharing/appinfo/app.php b/apps/files_sharing/appinfo/app.php
index 11c4614d6c594407bdb30764a0caa01236431079..7da295afdddd14aee0452cb1cf0f767547fb6308 100644
--- a/apps/files_sharing/appinfo/app.php
+++ b/apps/files_sharing/appinfo/app.php
@@ -28,8 +28,6 @@
 
 $l = \OC::$server->getL10N('files_sharing');
 
-\OC::$CLASSPATH['OC\Files\Storage\Shared'] = 'files_sharing/lib/sharedstorage.php';
-
 \OCA\Files_Sharing\Helper::registerHooks();
 
 \OCP\Share::registerBackend('file', 'OCA\Files_Sharing\ShareBackend\File');
diff --git a/apps/files_sharing/lib/Cache.php b/apps/files_sharing/lib/Cache.php
index 7977410f587b667497f27a221e51e00321a668d4..6444dbb8a3661690b094fd8834563f6de34a4c57 100644
--- a/apps/files_sharing/lib/Cache.php
+++ b/apps/files_sharing/lib/Cache.php
@@ -38,7 +38,7 @@ use OCP\Files\Storage\IStorage;
  */
 class Cache extends CacheJail {
 	/**
-	 * @var \OC\Files\Storage\Shared
+	 * @var \OCA\Files_Sharing\SharedStorage
 	 */
 	private $storage;
 
@@ -58,7 +58,7 @@ class Cache extends CacheJail {
 	private $sourceCache;
 
 	/**
-	 * @param \OC\Files\Storage\Shared $storage
+	 * @param \OCA\Files_Sharing\SharedStorage $storage
 	 * @param IStorage $sourceStorage
 	 * @param ICacheEntry $sourceRootInfo
 	 */
diff --git a/apps/files_sharing/lib/MountProvider.php b/apps/files_sharing/lib/MountProvider.php
index 284728597cd216ef8c24169dc1d8d2a9686e07df..1ee6f2b35f6868c8f7a0c62579ce5507597c29f7 100644
--- a/apps/files_sharing/lib/MountProvider.php
+++ b/apps/files_sharing/lib/MountProvider.php
@@ -81,7 +81,7 @@ class MountProvider implements IMountProvider {
 		foreach ($superShares as $share) {
 			try {
 				$mounts[] = new SharedMount(
-					'\OC\Files\Storage\Shared',
+					'\OCA\Files_Sharing\SharedStorage',
 					$mounts,
 					[
 						'user' => $user->getUID(),
diff --git a/apps/files_sharing/lib/Scanner.php b/apps/files_sharing/lib/Scanner.php
index 6982f1b4612eafff89d076e431c0c94d300dcc4a..86c6b58f439846177add20562b87fe900b8bbaf4 100644
--- a/apps/files_sharing/lib/Scanner.php
+++ b/apps/files_sharing/lib/Scanner.php
@@ -55,7 +55,7 @@ class Scanner extends \OC\Files\Cache\Scanner {
 		if ($this->sourceScanner) {
 			return $this->sourceScanner;
 		}
-		if ($this->storage->instanceOfStorage('\OC\Files\Storage\Shared')) {
+		if ($this->storage->instanceOfStorage('\OCA\Files_Sharing\SharedStorage')) {
 			/** @var \OC\Files\Storage\Storage $storage */
 			list($storage) = $this->storage->resolvePath('');
 			$this->sourceScanner = $storage->getScanner();
diff --git a/apps/files_sharing/lib/SharedMount.php b/apps/files_sharing/lib/SharedMount.php
index 13ecd88bfa90deeb81594dd1cc601a0c7a8a17f6..5436f476f1a6ad4aee166631f020a569818f1be1 100644
--- a/apps/files_sharing/lib/SharedMount.php
+++ b/apps/files_sharing/lib/SharedMount.php
@@ -37,7 +37,7 @@ use OC\Files\View;
  */
 class SharedMount extends MountPoint implements MoveableMount {
 	/**
-	 * @var \OC\Files\Storage\Shared $storage
+	 * @var \OCA\Files_Sharing\SharedStorage $storage
 	 */
 	protected $storage = null;
 
@@ -212,7 +212,7 @@ class SharedMount extends MountPoint implements MoveableMount {
 	 */
 	public function removeMount() {
 		$mountManager = \OC\Files\Filesystem::getMountManager();
-		/** @var $storage \OC\Files\Storage\Shared */
+		/** @var $storage \OCA\Files_Sharing\SharedStorage */
 		$storage = $this->getStorage();
 		$result = $storage->unshareStorage();
 		$mountManager->removeMount($this->mountPoint);
diff --git a/apps/files_sharing/lib/SharedPropagator.php b/apps/files_sharing/lib/SharedPropagator.php
index cd4aab3b522f6c74d4c57dc1d165a34fdac446c2..0273744da119310e737f7e2cc18e70ca08dbad3d 100644
--- a/apps/files_sharing/lib/SharedPropagator.php
+++ b/apps/files_sharing/lib/SharedPropagator.php
@@ -27,7 +27,7 @@ use OC\Files\Cache\Propagator;
 
 class SharedPropagator extends Propagator {
 	/**
-	 * @var \OC\Files\Storage\Shared
+	 * @var \OCA\Files_Sharing\SharedStorage
 	 */
 	protected $storage;
 
diff --git a/apps/files_sharing/lib/sharedstorage.php b/apps/files_sharing/lib/SharedStorage.php
similarity index 98%
rename from apps/files_sharing/lib/sharedstorage.php
rename to apps/files_sharing/lib/SharedStorage.php
index e1875fe2394cb2513f5088dc47665fbb0be7cd47..78a63ac5bbc2879761670b8ebfece146bdab5853 100644
--- a/apps/files_sharing/lib/sharedstorage.php
+++ b/apps/files_sharing/lib/SharedStorage.php
@@ -29,11 +29,10 @@
  *
  */
 
-namespace OC\Files\Storage;
+namespace OCA\Files_Sharing;
 
 use OC\Files\Filesystem;
 use OC\Files\Cache\FailedCache;
-use OCA\Files_Sharing\ISharedStorage;
 use OCP\Constants;
 use OCP\Files\Cache\ICacheEntry;
 use OCP\Files\NotFoundException;
@@ -43,7 +42,8 @@ use OCP\Lock\ILockingProvider;
 /**
  * Convert target path to source path and pass the function call to the correct storage provider
  */
-class Shared extends \OC\Files\Storage\Wrapper\Jail implements ISharedStorage {
+class SharedStorage extends \OC\Files\Storage\Wrapper\Jail implements ISharedStorage {
+
 	/** @var \OCP\Share\IShare */
 	private $superShare;
 
diff --git a/apps/files_sharing/tests/CacheTest.php b/apps/files_sharing/tests/CacheTest.php
index 531aa13aa33ac5a857cc74f53d16c7146fe4db42..ae0247a84e26af7da8a118a67e274965af1c85cf 100644
--- a/apps/files_sharing/tests/CacheTest.php
+++ b/apps/files_sharing/tests/CacheTest.php
@@ -488,7 +488,7 @@ class CacheTest extends TestCase {
 		$this->assertTrue(\OC\Files\Filesystem::file_exists('/test.txt'));
 		list($sharedStorage) = \OC\Files\Filesystem::resolvePath('/' . self::TEST_FILES_SHARING_API_USER2 . '/files/test.txt');
 		/**
-		 * @var \OC\Files\Storage\Shared $sharedStorage
+		 * @var \OCA\Files_Sharing\SharedStorage $sharedStorage
 		 */
 
 		$sharedCache = $sharedStorage->getCache();
@@ -518,7 +518,7 @@ class CacheTest extends TestCase {
 		$this->assertTrue(\OC\Files\Filesystem::file_exists('/foo'));
 		list($sharedStorage) = \OC\Files\Filesystem::resolvePath('/' . self::TEST_FILES_SHARING_API_USER2 . '/files/foo');
 		/**
-		 * @var \OC\Files\Storage\Shared $sharedStorage
+		 * @var \OCA\Files_Sharing\SharedStorage $sharedStorage
 		 */
 
 		$sharedCache = $sharedStorage->getCache();
diff --git a/apps/files_sharing/tests/SharedStorageTest.php b/apps/files_sharing/tests/SharedStorageTest.php
index 9be52b3febb3b3e6cba7d18c435238d5c5e101fd..2486e23af1b9ab1b7bb2bea6b569e01405745f9b 100644
--- a/apps/files_sharing/tests/SharedStorageTest.php
+++ b/apps/files_sharing/tests/SharedStorageTest.php
@@ -523,7 +523,7 @@ class SharedStorageTest extends TestCase {
 
 		$mount = $view2->getMount('/foo');
 		$this->assertInstanceOf('\OCA\Files_Sharing\SharedMount', $mount);
-		/** @var \OC\Files\Storage\Shared $storage */
+		/** @var \OCA\Files_Sharing\SharedStorage $storage */
 		$storage = $mount->getStorage();
 
 		$this->assertEquals(self::TEST_FILES_SHARING_API_USER1, $storage->getOwner(''));
diff --git a/apps/files_sharing/tests/TestCase.php b/apps/files_sharing/tests/TestCase.php
index 1777eb5bad22069c0f2af548bbcaf54989904f2b..a9163a086bf0b5b55b0619261d8504a68eb1f631 100644
--- a/apps/files_sharing/tests/TestCase.php
+++ b/apps/files_sharing/tests/TestCase.php
@@ -184,7 +184,7 @@ abstract class TestCase extends \Test\TestCase {
 	 * reset init status for the share storage
 	 */
 	protected static function resetStorage() {
-		$storage = new \ReflectionClass('\OC\Files\Storage\Shared');
+		$storage = new \ReflectionClass('\OCA\Files_Sharing\SharedStorage');
 		$isInitialized = $storage->getProperty('initialized');
 		$isInitialized->setAccessible(true);
 		$isInitialized->setValue($storage, false);
diff --git a/apps/files_versions/tests/VersioningTest.php b/apps/files_versions/tests/VersioningTest.php
index 6e6551089cc21fdd550bfb597923cacf8abadae0..de79327e084fd3986b1e0543b6f8bfa57a89f748 100644
--- a/apps/files_versions/tests/VersioningTest.php
+++ b/apps/files_versions/tests/VersioningTest.php
@@ -881,7 +881,7 @@ class VersioningTest extends \Test\TestCase {
 			\OC::$server->getUserManager()->registerBackend($backend);
 		}
 
-		$storage = new \ReflectionClass('\OC\Files\Storage\Shared');
+		$storage = new \ReflectionClass('\OCA\Files_Sharing\SharedStorage');
 		$isInitialized = $storage->getProperty('initialized');
 		$isInitialized->setAccessible(true);
 		$isInitialized->setValue($storage, false);
diff --git a/lib/private/Encryption/EncryptionWrapper.php b/lib/private/Encryption/EncryptionWrapper.php
index 233390f87394207176bb1ea6c42a34f0b4c7f549..573fe0159ea98b59353521ddcec052ae0df65e52 100644
--- a/lib/private/Encryption/EncryptionWrapper.php
+++ b/lib/private/Encryption/EncryptionWrapper.php
@@ -81,7 +81,7 @@ class EncryptionWrapper {
 			'mount' => $mount
 		];
 
-		if (!$storage->instanceOfStorage('OC\Files\Storage\Shared')
+		if (!$storage->instanceOfStorage('OCA\Files_Sharing\SharedStorage')
 			&& !$storage->instanceOfStorage('OCA\Files_Sharing\External\Storage')
 			&& !$storage->instanceOfStorage('OC\Files\Storage\OwnCloud')) {
 
diff --git a/lib/private/Files/Storage/Common.php b/lib/private/Files/Storage/Common.php
index 63d3c004fd2ea2c6f18f599ca4c61c665481d03d..c975791295d8643f24394b9d79cc27c1b91ed80d 100644
--- a/lib/private/Files/Storage/Common.php
+++ b/lib/private/Files/Storage/Common.php
@@ -466,6 +466,10 @@ abstract class Common implements Storage, ILockingStorage {
 	 * @return bool
 	 */
 	public function instanceOfStorage($class) {
+		if (ltrim($class, '\\') === 'OC\Files\Storage\Shared') {
+			// FIXME Temporary fix to keep existing checks working
+			$class = '\OCA\Files_Sharing\SharedStorage';
+		}
 		return is_a($this, $class);
 	}
 
diff --git a/lib/private/Files/Storage/Wrapper/Wrapper.php b/lib/private/Files/Storage/Wrapper/Wrapper.php
index c52b33948323fef6d159cd33ec9358f32108c7e9..71b64d8c82c00d980022a516835dba500b539837 100644
--- a/lib/private/Files/Storage/Wrapper/Wrapper.php
+++ b/lib/private/Files/Storage/Wrapper/Wrapper.php
@@ -483,6 +483,10 @@ class Wrapper implements \OC\Files\Storage\Storage, ILockingStorage {
 	 * @return bool
 	 */
 	public function instanceOfStorage($class) {
+		if (ltrim($class, '\\') === 'OC\Files\Storage\Shared') {
+			// FIXME Temporary fix to keep existing checks working
+			$class = '\OCA\Files_Sharing\SharedStorage';
+		}
 		return is_a($this, $class) or $this->getWrapperStorage()->instanceOfStorage($class);
 	}
 
diff --git a/lib/private/Files/View.php b/lib/private/Files/View.php
index fa6ba20c342f37f33031d2b73a0057c5e46bad6f..79c4d4cabedd70a55610ac5d06d0ba18f1c2573e 100644
--- a/lib/private/Files/View.php
+++ b/lib/private/Files/View.php
@@ -1357,7 +1357,7 @@ class View {
 						$subStorage = $mount->getStorage();
 						if ($subStorage) {
 							// exclude shared storage ?
-							if ($extOnly && $subStorage instanceof \OC\Files\Storage\Shared) {
+							if ($extOnly && $subStorage instanceof \OCA\Files_Sharing\SharedStorage) {
 								continue;
 							}
 							$subCache = $subStorage->getCache('');
diff --git a/lib/private/legacy/helper.php b/lib/private/legacy/helper.php
index 0b9477dacd472351070f03912a982a4ef64964db..65b4c0d8afe92b48ce8a38123008844e27fb28d2 100644
--- a/lib/private/legacy/helper.php
+++ b/lib/private/legacy/helper.php
@@ -557,7 +557,7 @@ class OC_Helper {
 		$quota = \OCP\Files\FileInfo::SPACE_UNLIMITED;
 		$storage = $rootInfo->getStorage();
 		$sourceStorage = $storage;
-		if ($storage->instanceOfStorage('\OC\Files\Storage\Shared')) {
+		if ($storage->instanceOfStorage('\OCA\Files_Sharing\SharedStorage')) {
 			$includeExtStorage = false;
 			$sourceStorage = $storage->getSourceStorage();
 		}
diff --git a/lib/private/legacy/util.php b/lib/private/legacy/util.php
index b8f3a93ba5024a9e403887e658499bfd5909bb5e..b6c3b375396ef9de21a26c38b0e4c9c9b8891eed 100644
--- a/lib/private/legacy/util.php
+++ b/lib/private/legacy/util.php
@@ -165,15 +165,14 @@ class OC_Util {
 
 		// install storage availability wrapper, before most other wrappers
 		\OC\Files\Filesystem::addStorageWrapper('oc_availability', function ($mountPoint, $storage) {
-			/** @var \OCP\Files\Storage $storage */
-			if (!$storage->instanceOfStorage('\OC\Files\Storage\Shared') && !$storage->isLocal()) {
+			if (!$storage->instanceOfStorage('\OCA\Files_Sharing\SharedStorage') && !$storage->isLocal()) {
 				return new \OC\Files\Storage\Wrapper\Availability(['storage' => $storage]);
 			}
 			return $storage;
 		});
 
 		\OC\Files\Filesystem::addStorageWrapper('oc_encoding', function ($mountPoint, \OCP\Files\Storage $storage, \OCP\Files\Mount\IMountPoint $mount) {
-			if ($mount->getOption('encoding_compatibility', false) && !$storage->instanceOfStorage('\OC\Files\Storage\Shared') && !$storage->isLocal()) {
+			if ($mount->getOption('encoding_compatibility', false) && !$storage->instanceOfStorage('\OCA\Files_Sharing\SharedStorage') && !$storage->isLocal()) {
 				return new \OC\Files\Storage\Wrapper\Encoding(['storage' => $storage]);
 			}
 			return $storage;
diff --git a/tests/lib/Encryption/EncryptionWrapperTest.php b/tests/lib/Encryption/EncryptionWrapperTest.php
index 6599428b3647522723aa0b35eb4a2488a04bf826..6a6a3db2f686901e254d42fe18130b252019c6a3 100644
--- a/tests/lib/Encryption/EncryptionWrapperTest.php
+++ b/tests/lib/Encryption/EncryptionWrapperTest.php
@@ -91,13 +91,13 @@ class EncryptionWrapperTest extends TestCase {
 			[true, ['OCA\Files_Trashbin\Storage']],
 
 			// Do not wrap shared storages
-			[false, ['OC\Files\Storage\Shared']],
+			[false, ['OCA\Files_Sharing\SharedStorage']],
 			[false, ['OCA\Files_Sharing\External\Storage']],
 			[false, ['OC\Files\Storage\OwnCloud']],
-			[false, ['OC\Files\Storage\Shared', 'OCA\Files_Sharing\External\Storage']],
-			[false, ['OC\Files\Storage\Shared', 'OC\Files\Storage\OwnCloud']],
+			[false, ['OCA\Files_Sharing\SharedStorage', 'OCA\Files_Sharing\External\Storage']],
+			[false, ['OCA\Files_Sharing\SharedStorage', 'OC\Files\Storage\OwnCloud']],
 			[false, ['OCA\Files_Sharing\External\Storage', 'OC\Files\Storage\OwnCloud']],
-			[false, ['OC\Files\Storage\Shared', 'OCA\Files_Sharing\External\Storage', 'OC\Files\Storage\OwnCloud']],
+			[false, ['OCA\Files_Sharing\SharedStorage', 'OCA\Files_Sharing\External\Storage', 'OC\Files\Storage\OwnCloud']],
 		];
 	}