diff --git a/src/uifc/uifc32.c b/src/uifc/uifc32.c
index d969e1b2b54ffabfbdc9153d0ec90013642b2fef..49d3ec0bec8f7bbe95e0e6c770aa67eac4aa8606 100644
--- a/src/uifc/uifc32.c
+++ b/src/uifc/uifc32.c
@@ -2752,6 +2752,8 @@ void upop(const char *str)
 	if(!width)
 		return;
 	width += 7;
+	if(width > 80)
+		width = 80;
 	vmem_gettext((api->scrn_width-width+1)/2+1,(api->scrn_len-3+1)/2+1
 			,(api->scrn_width+width-1)/2+1,(api->scrn_len+3-1)/2+1,sav);
 	for(i=0; i < width*3; i++)