diff --git a/ChangeLog b/ChangeLog
index b38afad55135ab5156245ee67cecadbde0863b71..09e66a19d7d01bed49dbe490f78907263daf528d 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -30,6 +30,8 @@ CVS code -
 	  before it, as titlebar() does. (DLR)
 	- Add translator comments explaining the maximum intended
 	  lengths of "(dir)" and "(parent dir)". (DLR)
+	- Fix problem where width wouldn't be properly initialized
+	  sometimes. (DLR)
   browser_select_filename()
 	- New function, used to select a specific filename in the list.
 	  (DLR)
diff --git a/src/browser.c b/src/browser.c
index 2a3f159745f22ae4ce157f8e48123fa7199c31e7..844b473838e51b2cbce10f01ca7da87155e83b00 100644
--- a/src/browser.c
+++ b/src/browser.c
@@ -683,6 +683,11 @@ void browser_refresh(void)
 	wmove(edit, line, col);
     }
 
+    /* Set the number of columns to display the list in, if
+     * necessary. */
+    if (width == 0)
+	width = longest;
+
     wnoutrefresh(edit);
 }