diff --git a/src/nano.c b/src/nano.c
index c9751120a91dd0b7b194afc9e90f17f59d5e505c..c2a90bc3b9ec2fc0a1c34d743bc1f027ede94232 100644
--- a/src/nano.c
+++ b/src/nano.c
@@ -2721,6 +2721,14 @@ int main(int argc, char **argv)
 	if (currmenu != MMAIN)
 	    display_main_list();
 
+	/* Refresh either just the cursor or the entire edit window. */
+	if (!refresh_needed) {
+	    reset_cursor();
+	    curs_set(1);
+	    wnoutrefresh(edit);
+	} else
+	    edit_refresh();
+
 	focusing = TRUE;
 	lastmessage = HUSH;
 
@@ -2733,15 +2741,6 @@ int main(int argc, char **argv)
 	/* Forget any earlier statusbar x position. */
 	reinit_statusbar_x();
 
-	/* Refresh either the entire edit window or just the cursor. */
-	if (refresh_needed)
-	    edit_refresh();
-	else {
-	    reset_cursor();
-	    curs_set(1);
-	    wnoutrefresh(edit);
-	}
-
 	/* Read in and interpret keystrokes. */
 	do_input(TRUE);
     }