diff --git a/lib/private/image.php b/lib/private/image.php
index ecdad084c02220a8a18c016f7aabb13d0fa7b3d1..01bca8267e9268e9045f1774b3f772ec7799377e 100644
--- a/lib/private/image.php
+++ b/lib/private/image.php
@@ -658,6 +658,12 @@ class OC_Image {
 		}
 		// create gd image
 		$im = imagecreatetruecolor($meta['width'], $meta['height']);
+		if ($im == FALSE) {
+			fclose($fh);
+			trigger_error('imagecreatefrombmp(): imagecreatetruecolor failed for file "' . $fileName . '" with dimensions ' . $meta['width'] . 'x' . $meta['height'], E_USER_WARNING);
+			return FALSE;
+		}
+
 		$data = fread($fh, $meta['imagesize']);
 		$p = 0;
 		$vide = chr(0);