diff --git a/lib/files/cache/updater.php b/lib/files/cache/updater.php
index 7fc9bd382feb169464e3d3e42f62cb0b7a04436e..26041590091c8edf3ab081c18f13978b52eddfec 100644
--- a/lib/files/cache/updater.php
+++ b/lib/files/cache/updater.php
@@ -30,11 +30,13 @@ class Updater {
 		 * @var string $internalPath
 		 */
 		list($storage, $internalPath) = self::resolvePath($path);
-		$cache = new Cache($storage);
-		$scanner = new Scanner($storage);
-		$scanner->scan($internalPath, Scanner::SCAN_SHALLOW);
-		$cache->correctFolderSize($internalPath);
-		self::eTagUpdate($path);
+		if ($storage) {
+			$cache = $storage->getCache();
+			$scanner = $storage->getScanner();
+			$scanner->scan($internalPath, Scanner::SCAN_SHALLOW);
+			$cache->correctFolderSize($internalPath);
+			self::eTagUpdate($path);
+		}
 	}
 
 	static public function deleteUpdate($path) {
@@ -43,10 +45,12 @@ class Updater {
 		 * @var string $internalPath
 		 */
 		list($storage, $internalPath) = self::resolvePath($path);
-		$cache = new Cache($storage);
-		$cache->remove($internalPath);
-		$cache->correctFolderSize($internalPath);
-		self::eTagUpdate($path);
+		if ($storage) {
+			$cache = $storage->getCache();
+			$cache->remove($internalPath);
+			$cache->correctFolderSize($internalPath);
+			self::eTagUpdate($path);
+		}
 	}
 
 	static public function eTagUpdate($path) {