diff --git a/lib/files/cache/scanner.php b/lib/files/cache/scanner.php
index cd022d2513276e9642d9b38931cf92401ca8ec6a..8f9a7921956f6a4c3fbc9eab9d6ef70b8ee64caf 100644
--- a/lib/files/cache/scanner.php
+++ b/lib/files/cache/scanner.php
@@ -78,19 +78,15 @@ class Scanner {
 						$this->scanFile($parent);
 					}
 				}
+				$newData = $data;
 				if ($cacheData = $this->cache->get($file)) {
+					if ($checkExisting && $data['size'] === -1) {
+						$data['size'] = $cacheData['size'];
+					}
 					if ($data['mtime'] === $cacheData['mtime'] &&
 						$data['size'] === $cacheData['size']) {
 						$data['etag'] = $cacheData['etag'];
 					}
-				}
-				if ($checkExisting and $cacheData) {
-					if ($data['size'] === -1) {
-						$data['size'] = $cacheData['size'];
-					}
-				}
-				$newData = $data;
-				if ($cacheData) {
 					// Only update metadata that has changed
 					$newData = array_diff($data, $cacheData);
 				}