diff --git a/lib/files/cache/updater.php b/lib/files/cache/updater.php
index 92a16d9d9b61a86ce458e8878e6cc7e1bb1fcfff..e054b9dafcf4fe64e5bb2c5a56e8b5aefb3e9b1e 100644
--- a/lib/files/cache/updater.php
+++ b/lib/files/cache/updater.php
@@ -132,7 +132,15 @@ class Updater {
 	 * @param array $params
 	 */
 	static public function touchHook($params) {
-		self::writeUpdate($params['path']);
+		$path = $params['path'];
+		list($storage, $internalPath) = self::resolvePath($path);
+		$cache = $storage->getCache();
+		$id = $cache->getId($internalPath);
+		if ($id !== -1) {
+			$cache->update($id, array('etag' => $storage->getETag($internalPath)));
+			self::correctFolder($parent, $time);
+		}
+		self::writeUpdate($path);
 	}
 
 	/**