diff --git a/src/uifc/uifc32.c b/src/uifc/uifc32.c
index f597eefd0a378f00e1f228fe34f4ac1c3f0e91af..e86bd6a443a1cc925b3be334c05d10b22d5b9225 100644
--- a/src/uifc/uifc32.c
+++ b/src/uifc/uifc32.c
@@ -932,6 +932,7 @@ int ulist(int mode, int left, int top, int width, int *cur, int *bar
 			i=(*cur)-(*bar);
 			if(i+(height-vbrdrsize-1)>=opts) {
 				(*bar)=(height-vbrdrsize)-(opts-*cur);
+				i=(*cur)-(*bar);
 			}
 		}
 		if((*cur)<0)