diff --git a/src/winwidget.c b/src/winwidget.c
index 1ce7e61fdf6580ed4c4b6d08f3c8521766a8384c..a928a183fa55549da0d1310d335bf7daaa9a084e 100644
--- a/src/winwidget.c
+++ b/src/winwidget.c
@@ -445,8 +445,9 @@ void winwidget_render_image(winwidget winwid, int resize, int force_alias)
 
 	if (!winwid->full_screen && ((gib_imlib_image_has_alpha(winwid->im))
 				     || (opt.geom_flags & (WidthValue | HeightValue))
-				     || (winwid->im_x || winwid->im_y) || (winwid->zoom != 1.0)
-				     || (winwid->w > winwid->im_w || winwid->h > winwid->im_h)
+				     || (winwid->im_x || winwid->im_y)
+				     || (winwid->w > winwid->im_w * winwid->zoom)
+				     || (winwid->h > winwid->im_h * winwid->zoom)
 				     || (winwid->has_rotated)))
 		feh_draw_checks(winwid);