diff --git a/lib/private/files/cache/updater.php b/lib/private/files/cache/updater.php
index 31a4a7c21e7ceaf4291ff0544d755a48f0ad40c2..9f4cbfeff8c5dc79fb06dd17e04c2e4a70f25740 100644
--- a/lib/private/files/cache/updater.php
+++ b/lib/private/files/cache/updater.php
@@ -31,6 +31,9 @@ class Updater {
 	}
 
 	public function propagate($path, $time = null) {
+		if (Scanner::isPartialFile($path)) {
+			return;
+		}
 		$this->propagator->addChange($path);
 		$this->propagator->propagateChanges($time);
 	}
@@ -42,6 +45,9 @@ class Updater {
 	 * @param int $time
 	 */
 	public function update($path, $time = null) {
+		if(Scanner::isPartialFile($path)) {
+			return;
+		}
 		/**
 		 * @var \OC\Files\Storage\Storage $storage
 		 * @var string $internalPath
@@ -64,6 +70,9 @@ class Updater {
 	 * @param string $path
 	 */
 	public function remove($path) {
+		if (Scanner::isPartialFile($path)) {
+			return;
+		}
 		/**
 		 * @var \OC\Files\Storage\Storage $storage
 		 * @var string $internalPath
@@ -88,6 +97,9 @@ class Updater {
 	 * @param string $target
 	 */
 	public function rename($source, $target) {
+		if (Scanner::isPartialFile($source) or Scanner::isPartialFile($target)) {
+			return;
+		}
 		/**
 		 * @var \OC\Files\Storage\Storage $sourceStorage
 		 * @var \OC\Files\Storage\Storage $targetStorage
diff --git a/lib/private/files/view.php b/lib/private/files/view.php
index 3bc9fdff1ee6ad53679aa0472efb42099ff0d930..120efa0f052c3cd9fe9e3249f858f92dcb3e7d02 100644
--- a/lib/private/files/view.php
+++ b/lib/private/files/view.php
@@ -811,7 +811,7 @@ class View {
 				if (in_array('delete', $hooks) and $result) {
 					$this->updater->remove($path);
 				}
-				if (in_array('write', $hooks)) {
+				if (in_array('write', $hooks) and $operation !== 'fopen') {
 					$this->updater->update($path);
 				}
 				if (in_array('touch', $hooks)) {