diff --git a/nano.c b/nano.c
index 2cd5ea3e91fe6cc3bd5450aaf255de177817d828..caf9a30b09be5b95692e71303e38a4cf1f3384dd 100644
--- a/nano.c
+++ b/nano.c
@@ -2976,6 +2976,8 @@ int main(int argc, char *argv[])
 	    filename = mallocstrcpy(filename, argv[optind]);
     }
 
+    signal_init();
+
     /* now ncurses init stuff... */
     initscr();
     savetty();
@@ -2990,7 +2992,6 @@ int main(int argc, char *argv[])
     init_help_msg();
     help_init();
 #endif
-    signal_init();
 
 #ifdef DEBUG
     fprintf(stderr, _("Main: set up windows\n"));