diff --git a/apps/files_external/lib/Lib/Storage/SMB.php b/apps/files_external/lib/Lib/Storage/SMB.php
index e677f8c9eba916027ff84364972cd9002066b25d..b9613adff21b7ab3f9f70e7dc99bb9a07d8f0c77 100644
--- a/apps/files_external/lib/Lib/Storage/SMB.php
+++ b/apps/files_external/lib/Lib/Storage/SMB.php
@@ -381,6 +381,19 @@ class SMB extends \OC\Files\Storage\Common {
 	}
 
 	public function isUpdatable($path) {
+		try {
+			$info = $this->getFileInfo($path);
+			// following windows behaviour for read-only folders: they can be written into
+			// (https://support.microsoft.com/en-us/kb/326549 - "cause" section)
+			return !$info->isHidden() && (!$info->isReadOnly() || $this->is_dir($path));
+		} catch (NotFoundException $e) {
+			return false;
+		} catch (ForbiddenException $e) {
+			return false;
+		}
+	}
+
+	public function isDeletable($path) {
 		try {
 			$info = $this->getFileInfo($path);
 			return !$info->isHidden() && !$info->isReadOnly();