diff --git a/core/ajax/preview.php b/core/ajax/preview.php
index 03dfb483062495871b562483473336d77821e04f..f7e24e0ec2818ae6d3e7756727ab6907d8798dba 100644
--- a/core/ajax/preview.php
+++ b/core/ajax/preview.php
@@ -29,21 +29,17 @@ if ($maxX === 0 || $maxY === 0) {
 	exit;
 }
 
-try {
-	$preview = new \OC\Preview(\OC_User::getUser(), 'files');
-	$info = \OC\Files\Filesystem::getFileInfo($file);
-	if (!$always and !$preview->isAvailable($info)) {
-		\OC_Response::setStatus(404);
-	} else {
-		$preview->setFile($file);
-		$preview->setMaxX($maxX);
-		$preview->setMaxY($maxY);
-		$preview->setScalingUp($scalingUp);
-		$preview->setKeepAspect($keepAspect);
-		$preview->showPreview();
-	}
+$preview = new \OC\Preview(\OC_User::getUser(), 'files');
 
-} catch (\Exception $e) {
-	\OC_Response::setStatus(500);
-	\OC_Log::write('core', $e->getmessage(), \OC_Log::DEBUG);
+$info = \OC\Files\Filesystem::getFileInfo($file);
+
+if (!$info instanceof OCP\Files\FileInfo || !$always && !$preview->isAvailable($info)) {
+	\OC_Response::setStatus(404);
+} else {
+	$preview->setFile($file);
+	$preview->setMaxX($maxX);
+	$preview->setMaxY($maxY);
+	$preview->setScalingUp($scalingUp);
+	$preview->setKeepAspect($keepAspect);
+	$preview->showPreview();
 }
diff --git a/lib/private/preview.php b/lib/private/preview.php
index a586c94fd11c59ebe6bb77c18a10290b2aa58cc7..c7ef00652aa19fb9b095ab8f15654dd7243d43e3 100644
--- a/lib/private/preview.php
+++ b/lib/private/preview.php
@@ -200,14 +200,15 @@ class Preview {
 	/**
 	 * set the path of the file you want a thumbnail from
 	 * @param string $file
-	 * @return \OC\Preview $this
+	 * @return $this
 	 */
 	public function setFile($file) {
 		$this->file = $file;
 		$this->info = null;
+
 		if ($file !== '') {
 			$this->getFileInfo();
-			if($this->info !== null && $this->info !== false) {
+			if($this->info instanceof \OCP\Files\FileInfo) {
 				$this->mimeType = $this->info->getMimetype();
 			}
 		}