diff --git a/lib/private/files/view.php b/lib/private/files/view.php
index 0c3bc54a41dd86e55456ea357f786e014e0759ca..5fa6a0a051bd182562f37bc6e31b26cee1c954f1 100644
--- a/lib/private/files/view.php
+++ b/lib/private/files/view.php
@@ -79,6 +79,8 @@ class View {
 	 */
 	private $lockingProvider;
 
+	private $lockingEnabled;
+
 	/**
 	 * @param string $root
 	 * @throws \Exception If $root contains an invalid path
@@ -94,6 +96,7 @@ class View {
 		$this->fakeRoot = $root;
 		$this->updater = new Updater($this);
 		$this->lockingProvider = \OC::$server->getLockingProvider();
+		$this->lockingEnabled = !($this->lockingProvider instanceof \OC\Lock\NoopLockingProvider);
 	}
 
 	public function getAbsolutePath($path = '/') {
@@ -1021,7 +1024,7 @@ class View {
 				}
 
 				$unlockLater = false;
-				if ($operation === 'fopen' and is_resource($result)) {
+				if ($this->lockingEnabled && $operation === 'fopen' && is_resource($result)) {
 					$unlockLater = true;
 					$result = CallbackWrapper::wrap($result, null, null, function () use ($hooks, $path) {
 						if (in_array('write', $hooks)) {