diff --git a/lib/private/files/stream/encryption.php b/lib/private/files/stream/encryption.php
index 4c328993ef77530d36ac0c8d27a3352cbd466f11..585a697c5d1a25c4b1e62f7948d6e80393be20f1 100644
--- a/lib/private/files/stream/encryption.php
+++ b/lib/private/files/stream/encryption.php
@@ -167,7 +167,7 @@ class Encryption extends Wrapper {
 			)
 		));
 
-		return self::wrapSource($source, $mode, $context, 'ocencryption', $wrapper);
+		return self::wrapSource($source, $context, 'ocencryption', $wrapper, $mode);
 	}
 
 	/**
@@ -181,7 +181,7 @@ class Encryption extends Wrapper {
 	 * @return resource
 	 * @throws \BadMethodCallException
 	 */
-	protected static function wrapSource($source, $mode, $context, $protocol, $class) {
+	protected static function wrapSource($source, $context, $protocol, $class, $mode = 'r+') {
 		try {
 			stream_wrapper_register($protocol, $class);
 			if (@rewinddir($source) === false) {