diff --git a/lib/private/preview.php b/lib/private/preview.php
index aeb9806904a7b04680ed3e16ac01777e4588492c..cc15ab84fe75f3bd92e12b949a2d42e162322c1f 100755
--- a/lib/private/preview.php
+++ b/lib/private/preview.php
@@ -477,12 +477,15 @@ class Preview {
 		$cached = $this->isCached($fileId);
 		if ($cached) {
 			$stream = $this->userView->fopen($cached, 'r');
-			$image = new \OC_Image();
-			$image->loadFromFileHandle($stream);
-			$this->preview = $image->valid() ? $image : null;
+			$this->preview = null;
+			if ($stream) {
+				$image = new \OC_Image();
+				$image->loadFromFileHandle($stream);
+				$this->preview = $image->valid() ? $image : null;
 
-			$this->resizeAndCrop();
-			fclose($stream);
+				$this->resizeAndCrop();
+				fclose($stream);
+			}
 		}
 
 		if (is_null($this->preview)) {