diff --git a/src/uifc/uifc32.c b/src/uifc/uifc32.c
index 2ffd02d7d37b8d489c6d91337914eccf566b875c..6590597f5faa84fcb8f3ae2b17e81eb8764d6f83 100644
--- a/src/uifc/uifc32.c
+++ b/src/uifc/uifc32.c
@@ -2320,8 +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++) {
-		if(hbuf[j]!=CR)
-			k++;
+		k++;
+		if(mode&WIN_HLP && (hbuf[j]==2 || hbuf[j]=='~' || hbuf[j]==1 || hbuf[j]=='`'))
+			k--;
+		if(hbuf[j]==CR)
+			k--;
 		if((hbuf[j]==LF) || (k>width-2-pad-pad && (hbuf[j+1]!='\n' && hbuf[j+1]!='\r'))) {
 			k=0;
 			lines++;