diff --git a/src/browser.c b/src/browser.c
index a700056ab1f3950a654ddc6459d72535fc0a1858..9360f7ddb93511d1a7c8bfeba1f5e40e1039e25c 100644
--- a/src/browser.c
+++ b/src/browser.c
@@ -616,10 +616,11 @@ void browser_refresh(void)
 		/* The maximum length of the file information in
 		 * columns: 7 for "--", "(dir)", or the file size, and
 		 * 12 for "(parent dir)". */
-	bool dots = (COLS >= 15 && filetaillen > longest -
+	bool dots = (COLS >= 15 && filetaillen >= longest -
 		foomaxlen - 1);
 		/* Do we put an ellipsis before the filename?  Don't set
-		 * this to TRUE if we have fewer than 15 columns. */
+		 * this to TRUE if we have fewer than 15 columns (i.e, 7
+		 * columns for a filename other than ".."). */
 	char *disp = display_string(filetail, dots ? filetaillen -
 		longest + foomaxlen + 4 : 0, longest, FALSE);
 		/* If we put an ellipsis before the filename, reserve 1
diff --git a/src/winio.c b/src/winio.c
index 9fe6934c5d125b17ffa5aec0c74aea9abf3417d9..72a1a60c6aec6ac7f9014af7b8625f26ec11d305 100644
--- a/src/winio.c
+++ b/src/winio.c
@@ -2051,8 +2051,9 @@ void titlebar(const char *path)
     if (!newfie) {
 	size_t lenpt = strlenpt(path), start_col;
 
-	/* Don't set dots to TRUE if we have fewer than 8 columns. */
-	dots = (space >= 8 && lenpt >= space);
+	/* Don't set dots to TRUE if we have fewer than 7 columns for
+	 * a filename. */
+	dots = (space >= 7 && lenpt >= space);
 
 	if (dots) {
 	    start_col = lenpt - space + 3;