diff --git a/ChangeLog b/ChangeLog
index adc53d9e1b8a86aa25bb5d86a6f8e8fbddaa3f2c..e454cc3add72de5ad022f35a4054ce322be72837 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -392,6 +392,8 @@ 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 fd50cb1f0877996ec098cb1f6b5bcac774e4d9c4..c0a7c13036105167680836c33b88be25d14947a5 100644
--- a/src/winio.c
+++ b/src/winio.c
@@ -4013,6 +4013,9 @@ void do_replace_highlight(bool highlight, const char *word)
 
     if (highlight)
 	wattroff(edit, A_REVERSE);
+
+    /* Refresh the edit window. */
+    wnoutrefresh(edit);
 }
 
 #ifndef NDEBUG