diff --git a/src/imlib.c b/src/imlib.c
index 3a7cb6db3f26877777e4ea207a52a2d2d2f16406..6f31e96f4e826417a4bf8649c71550b2eab4264e 100644
--- a/src/imlib.c
+++ b/src/imlib.c
@@ -253,7 +253,9 @@ int feh_is_image(feh_file * file)
 	if (!fh) {
 		return 0;
 	}
-	if (fread(buf, 1, 16, fh) != 16) {
+	// Files smaller than buf will be padded with zeroes
+	memset(buf, 0, sizeof(buf));
+	if (fread(buf, 1, 16, fh) <= 0) {
 		fclose(fh);
 		return 0;
 	}