diff --git a/lib/files/cache/scanner.php b/lib/files/cache/scanner.php
index a1f688d3aca0a2399c4d03ef09c45b1d230dccd3..2517118058b23be0779d6db10b3303f75d0b7313 100644
--- a/lib/files/cache/scanner.php
+++ b/lib/files/cache/scanner.php
@@ -74,14 +74,16 @@ class Scanner {
 					$this->scanFile($parent);
 				}
 			}
-			if ($checkExisting and $cacheData = $this->cache->get($file)) {
-				if ($data['size'] === -1) {
-					$data['size'] = $cacheData['size'];
-				}
+			if($cacheData = $this->cache->get($file)) {
 				if ($data['mtime'] === $cacheData['mtime']) {
 					$data['etag'] = $cacheData['etag'];
 				}
 			}
+			if ($checkExisting and $cacheData) {
+				if ($data['size'] === -1) {
+					$data['size'] = $cacheData['size'];
+				}
+			}
 			$this->cache->put($file, $data);
 		}
 		return $data;