diff --git a/src/uifc/uifc32.c b/src/uifc/uifc32.c
index 6590597f5faa84fcb8f3ae2b17e81eb8764d6f83..1d2460378ee6fce70f6a8ec3ea05c06504174caf 100644
--- a/src/uifc/uifc32.c
+++ b/src/uifc/uifc32.c
@@ -2320,11 +2320,11 @@ void showbuf(int mode, int left, int top, int width, int height, char *title, ch
 	lines=0;
 	k=0;
 	for(j=0;j<len;j++) {
-		k++;
 		if(mode&WIN_HLP && (hbuf[j]==2 || hbuf[j]=='~' || hbuf[j]==1 || hbuf[j]=='`'))
-			k--;
+			continue;
 		if(hbuf[j]==CR)
-			k--;
+			continue;
+		k++;
 		if((hbuf[j]==LF) || (k>width-2-pad-pad && (hbuf[j+1]!='\n' && hbuf[j+1]!='\r'))) {
 			k=0;
 			lines++;