diff --git a/lib/private/Files/Storage/Wrapper/Encryption.php b/lib/private/Files/Storage/Wrapper/Encryption.php
index 109de4c4e5cf5a86292ed1af3dc21d12a1f6beab..42653b2d4a6ae575ca428bb04897dc106099a913 100644
--- a/lib/private/Files/Storage/Wrapper/Encryption.php
+++ b/lib/private/Files/Storage/Wrapper/Encryption.php
@@ -412,9 +412,13 @@ class Encryption extends Wrapper {
 					|| $mode === 'wb'
 					|| $mode === 'wb+'
 				) {
-					// don't overwrite encrypted files if encryption is not enabled
+					// if we update a encrypted file with a un-encrypted one we change the db flag
 					if ($targetIsEncrypted && $encryptionEnabled === false) {
-						throw new GenericEncryptionException('Tried to access encrypted file but encryption is not enabled');
+						$cache = $this->storage->getCache();
+						if ($cache) {
+							$entry = $cache->get($path);
+							$cache->update($entry->getId(), ['encrypted' => 0]);
+						}
 					}
 					if ($encryptionEnabled) {
 						// if $encryptionModuleId is empty, the default module will be used