diff --git a/apps/workflowengine/js/filemimetypeplugin.js b/apps/workflowengine/js/filemimetypeplugin.js
index 33cbbd7fd7e27428022f02f7cdf5329576bd3437..9fc9e3452f414af6cbefdd042da3a504879b2150 100644
Binary files a/apps/workflowengine/js/filemimetypeplugin.js and b/apps/workflowengine/js/filemimetypeplugin.js differ
diff --git a/apps/workflowengine/lib/Check/FileMimeType.php b/apps/workflowengine/lib/Check/FileMimeType.php
index 43c856a7c980f89dfadbacd542a9b291f1ad5fd3..4a985840e60cb089c67ccea748fc573788c00f0f 100644
--- a/apps/workflowengine/lib/Check/FileMimeType.php
+++ b/apps/workflowengine/lib/Check/FileMimeType.php
@@ -106,9 +106,48 @@ class FileMimeType extends AbstractStringCheck {
 			}
 		}
 
+		$this->mimeType[$this->storage->getId()][$this->path] = $this->storage->getMimeType($this->path);
+		if ($this->mimeType[$this->storage->getId()][$this->path] === 'application/octet-stream') {
+			$this->mimeType[$this->storage->getId()][$this->path] = $this->detectMimetypeFromPath();
+		}
+
 		return $this->mimeType[$this->storage->getId()][$this->path];
 	}
 
+	/**
+	 * @return string
+	 */
+	protected function detectMimetypeFromPath() {
+		$mimeType = $this->mimeTypeDetector->detectPath($this->path);
+		if ($mimeType !== 'application/octet-stream' && $mimeType !== false) {
+			return $mimeType;
+		}
+
+		if ($this->storage->instanceOfStorage('\OC\Files\Storage\Local')
+			|| $this->storage->instanceOfStorage('\OC\Files\Storage\Home')
+			|| $this->storage->instanceOfStorage('\OC\Files\ObjectStore\HomeObjectStoreStorage')) {
+			$localFile = $this->storage->getLocalFile($this->path);
+			if ($localFile !== false) {
+				$mimeType = $this->mimeTypeDetector->detect($localFile);
+				if ($mimeType !== false) {
+					return $mimeType;
+				}
+			}
+
+			return 'application/octet-stream';
+		} else {
+			$handle = $this->storage->fopen($this->path, 'r');
+			$data = fread($handle, 8024);
+			fclose($handle);
+			$mimeType = $this->mimeTypeDetector->detectString($data);
+			if ($mimeType !== false) {
+				return $mimeType;
+			}
+
+			return 'application/octet-stream';
+		}
+	}
+
 	/**
 	 * @return bool
 	 */