diff -Naur grub-new3/grub-core/gfxmenu/gui_circular_progress.c grub-new4/grub-core/gfxmenu/gui_circular_progress.c --- grub-new3/grub-core/gfxmenu/gui_circular_progress.c 2013-03-11 16:01:08.585385148 +0400 +++ grub-new4/grub-core/gfxmenu/gui_circular_progress.c 2013-03-11 16:39:36.781832463 +0400 @@ -138,7 +138,15 @@ (height - center_height) / 2, 0, 0, center_width, center_height); - int radius = width / 2 - tick_width / 2 - 1; + int min = width; + if (height < min) { + min = height; + } + int max = tick_width; + if (tick_height > max) { + max = tick_height; + } + int radius = min / 2 - max / 2 - 1; int nticks; int tick_begin; int tick_end;