diff --git a/src/nano.c b/src/nano.c
index e2a13365a99758e9454b499c4b2b8c77a280db37..7f94cfaf7be154f7642c797e330c1b24e5464a26 100644
--- a/src/nano.c
+++ b/src/nano.c
@@ -2223,6 +2223,9 @@ int main(int argc, char **argv)
     while (TRUE) {
 	bool meta_key, func_key, s_or_t, ran_func, finished;
 
+	/* Make sure the statusbar cursor position is reset. */
+	do_prompt_abort();
+
 	/* Make sure the cursor is in the edit window. */
 	reset_cursor();
 
@@ -2248,10 +2251,6 @@ int main(int argc, char **argv)
 	/* Read in and interpret characters. */
 	do_input(&meta_key, &func_key, &s_or_t, &ran_func, &finished,
 		TRUE);
-
-	 /* Just in case we were in the statusbar prompt, reset the
-	  * statusbar cursor position. */
-	 do_prompt_abort();
     }
 
     /* We should never get here. */