diff --git a/ChangeLog b/ChangeLog
index 6fa21f48b08c94e6306c7a92f13a2102b9b03fb7..1a7bc14195bdba327e51bc98905ceeed7963dd92 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -41,9 +41,6 @@ CVS code -
 	  file browser shortcut list. (DLR)
 - prompt.c:
   get_prompt_string()
-	- Use a do/while loop instead of a while loop, for consistency,
-	  and initialize finished to FALSE to make sure it works
-	  properly. (DLR)
 	- Redraw the prompt and set finished to FALSE when NANO_HELP_KEY
 	  is pressed, so that we don't leave the prompt, enter the help
 	  browser, and restart the prompt after leaving it.  This will
diff --git a/src/prompt.c b/src/prompt.c
index 7efab22fd083a76d3452ed12d0b2faeaafdb7bdb..c62cfabeb98dcd6aaaf3cc5c21bc9cd4a30faae3 100644
--- a/src/prompt.c
+++ b/src/prompt.c
@@ -912,7 +912,7 @@ int get_prompt_string(bool allow_tabs,
 	)
 {
     int kbinput = ERR;
-    bool meta_key, func_key, s_or_t, ran_func, finished = FALSE;
+    bool meta_key, func_key, s_or_t, ran_func, finished;
     size_t curranswer_len;
 #ifndef DISABLE_TABCOMP
     bool tabbed = FALSE;
@@ -961,7 +961,9 @@ int get_prompt_string(bool allow_tabs,
      * to files not specified on the command line.  In this case,
      * disable all keys that would change the text if the filename isn't
      * blank and we're at the "Write File" prompt. */
-    do {
+    while ((kbinput = do_statusbar_input(&meta_key, &func_key, &s_or_t,
+	&ran_func, &finished, TRUE)) != NANO_CANCEL_KEY && kbinput !=
+	NANO_ENTER_KEY) {
 	assert(statusbar_x <= strlen(answer));
 
 #ifndef DISABLE_TABCOMP
@@ -1071,9 +1073,7 @@ int get_prompt_string(bool allow_tabs,
 #endif
 
 	reset_statusbar_cursor();
-    } while ((kbinput = do_statusbar_input(&meta_key, &func_key,
-	&s_or_t, &ran_func, &finished, TRUE)) != NANO_CANCEL_KEY &&
-	kbinput != NANO_ENTER_KEY);
+    }
 
 #ifndef NANO_TINY
     /* Set the current position in the history list to the bottom and