diff --git a/src/uifc/uifc32.c b/src/uifc/uifc32.c
index 36aa3b873779b0c24b0e59ecd495930ad3a796a9..fe8a4afa1fc698343f07fd19cc821a8f0261abcf 100644
--- a/src/uifc/uifc32.c
+++ b/src/uifc/uifc32.c
@@ -383,10 +383,12 @@ int ulist(int mode, int left, int top, int width, int *cur, int *bar
 	}
 	if(width>(SCRN_RIGHT+1)-SCRN_LEFT) {
 		width=(SCRN_RIGHT+1)-SCRN_LEFT;
-		*(title+width-7)='.';
-		*(title+width-6)='.';
-		*(title+width-5)='.';
-		*(title+width-4)=0;
+		if(strlen(title)>(width-4)) {
+			*(title+width-7)='.';
+			*(title+width-6)='.';
+			*(title+width-5)='.';
+			*(title+width-4)=0;
+		}
 	}
 	if(mode&WIN_L2R)
 		left=36-(width/2);