diff --git a/ChangeLog b/ChangeLog
index e03aac09b83882f09af87494ae3cad835cd6d786..9056ad6c787e7de342d3d2da5031fc5bd116c9ad 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,6 +1,8 @@
 2016-02-06  Benno Schulenberg  <bensberg@justemail.net>
 	* src/files.c (write_file): Remove the --nofollow option that hasn't
 	been working for a dozen years.
+	* src/winio.c (statusbar): Update the screen immediately whenever a
+	message has been posted on the status bar.
 
 2016-02-05  Benno Schulenberg  <bensberg@justemail.net>
 	* doc/texinfo/nano.texi: Condense the descriptions of command-key
diff --git a/src/nano.c b/src/nano.c
index 573e18c866f83d229f94c9671719dca43a0279d5..2cbf7051dafa6445563d3dce2b5f83dbc32cc953 100644
--- a/src/nano.c
+++ b/src/nano.c
@@ -1106,7 +1106,6 @@ void no_current_file_name_warning(void)
     beep();
 
     /* Ensure that we see the warning. */
-    doupdate();
     napms(1800);
 
     curs_set(1);
diff --git a/src/text.c b/src/text.c
index c9c8cdec4de98f256352d058e8c3234b8b6ecf42..9dacb9dd68b4809abb29f0a19dd20fa9c57524eb 100644
--- a/src/text.c
+++ b/src/text.c
@@ -2874,7 +2874,6 @@ void do_spell(void)
 
     blank_bottombars();
     statusbar(_("Invoking spell checker, please wait"));
-    doupdate();
 
     spell_msg = (alt_speller != NULL) ? do_alt_speller(temp) :
 	do_int_speller(temp);
@@ -2946,7 +2945,6 @@ void do_linter(void)
 
     blank_bottombars();
     statusbar(_("Invoking linter, please wait"));
-    doupdate();
 
     /* Set up an argument list to pass to execvp(). */
     if (lintargs == NULL) {
@@ -3253,7 +3251,6 @@ void do_formatter(void)
 
     blank_bottombars();
     statusbar(_("Invoking formatter, please wait"));
-    doupdate();
 
     endwin();
 
diff --git a/src/winio.c b/src/winio.c
index 51a9ee0adb42b053c28d47e47e19e5f7f08eee12..016c5776c57b30eeeafc61777c536d074bd61645 100644
--- a/src/winio.c
+++ b/src/winio.c
@@ -2149,6 +2149,9 @@ void statusbar(const char *msg, ...)
 
     disable_cursorpos = TRUE;
 
+    /* Push the message to the screen straightaway. */
+    doupdate();
+
     /* If we're doing quick statusbar blanking, and constant cursor
      * position display is off, blank the statusbar after only one
      * keystroke.  Otherwise, blank it after twenty-six keystrokes, as