diff --git a/src/uifc/uifc32.c b/src/uifc/uifc32.c
index 32f6352d8a0266bbb1f86708c94b0270d3f85d59..3d486f0b174aa10bd8f69c22d2c5f8783f2e4659 100644
--- a/src/uifc/uifc32.c
+++ b/src/uifc/uifc32.c
@@ -1520,6 +1520,7 @@ void umsg(char *str)
 /***************************************/
 void getstrupd(int left, int top, int width, char *outstr, int cursoffset, int *scrnoffset)
 {
+	_setcursortype(_NOCURSOR);
 	if(cursoffset<*scrnoffset)
 		*scrnoffset=cursoffset;
 
@@ -1529,6 +1530,7 @@ void getstrupd(int left, int top, int width, char *outstr, int cursoffset, int *
 	gotoxy(left,top);
 	cprintf("%-*.*s",width,width,outstr+*scrnoffset);
 	gotoxy(left+(cursoffset-*scrnoffset),top);
+	_setcursortype(_NORMALCURSOR);
 }
 
 /****************************************************************************/