diff --git a/apps/files_encryption/tests/webdav.php b/apps/files_encryption/tests/webdav.php
index 1f23be3e79a7d98f3ca3bac41dc6c688db3b0af4..1fe4c13d59e8bae7622d38848fd4281bfcf9d410 100755
--- a/apps/files_encryption/tests/webdav.php
+++ b/apps/files_encryption/tests/webdav.php
@@ -247,6 +247,7 @@ class Test_Encryption_Webdav extends \PHPUnit_Framework_TestCase {
 		$server->addPlugin(new Sabre_DAV_Browser_Plugin(false)); // Show something in the Browser, but no upload
 		$server->addPlugin(new OC_Connector_Sabre_QuotaPlugin($view));
 		$server->addPlugin(new OC_Connector_Sabre_MaintenancePlugin());
+		$server->debugExceptions = true;
 
 		// And off we go!
 		if ($body) {
diff --git a/lib/private/files/cache/scanner.php b/lib/private/files/cache/scanner.php
index 79159724d167fbc7080eefe76a3a4048a78a9028..c0bdde06a755ce04b397797d8847fe6c65c61557 100644
--- a/lib/private/files/cache/scanner.php
+++ b/lib/private/files/cache/scanner.php
@@ -115,11 +115,12 @@ class Scanner extends BasicEmitter {
 					}
 					if ($reuseExisting) {
 						// prevent empty etag
-						$etag = $cacheData['etag'];
-						$propagateETagChange = false;
-						if (empty($etag)) {
+						if (empty($cacheData['etag'])) {
 							$etag = $data['etag'];
 							$propagateETagChange = true;
+						} else {
+							$etag = $cacheData['etag'];
+							$propagateETagChange = false;
 						}
 						// only reuse data if the file hasn't explicitly changed
 						if (isset($data['storage_mtime']) && isset($cacheData['storage_mtime']) && $data['storage_mtime'] === $cacheData['storage_mtime']) {