diff --git a/ChangeLog b/ChangeLog
index e454cc3add72de5ad022f35a4054ce322be72837..11ca41649911a4b8788a564f8c27d7ca73583469 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -379,6 +379,8 @@ CVS code -
 	- Get input from bottomwin instead of edit, so that the cursor
 	  isn't erroneously put in the edit window while we wait for an
 	  answer. (DLR)
+	- Call wnoutrefresh(edit) to make sure that the edit window is
+	  refreshed before we get input, as statusq() does. (DLR)
   total_redraw()
 	- Simplify to call clearok(TRUE) and wrefresh() on curscr, which
 	  updates the entire screen in fewer function calls without
@@ -392,8 +394,6 @@ CVS code -
 	  have a zero-length regex. (DLR)
 	- Rename variable highlight_flag to highlight, for consistency.
 	  (DLR)
-	- Call wnoutrefresh(edit) to make sure that the highlight is
-	  drawn properly. (DLR)
   do_credits()
 	- Save the keystroke that breaks us out of the credits (if any)
 	  and put it back so that it isn't lost.  This is especially
diff --git a/src/winio.c b/src/winio.c
index c0a7c13036105167680836c33b88be25d14947a5..2fd81fa806b8a75e3dfee4531b43328ae139d3d0 100644
--- a/src/winio.c
+++ b/src/winio.c
@@ -3686,6 +3686,9 @@ int do_yesno(bool all, const char *msg)
 
     wattroff(bottomwin, A_REVERSE);
 
+    /* Refresh the edit window and the statusbar before getting
+     * input. */
+    wnoutrefresh(edit);
     wrefresh(bottomwin);
 
     do {
@@ -4013,9 +4016,6 @@ void do_replace_highlight(bool highlight, const char *word)
 
     if (highlight)
 	wattroff(edit, A_REVERSE);
-
-    /* Refresh the edit window. */
-    wnoutrefresh(edit);
 }
 
 #ifndef NDEBUG