diff --git a/src/nano.c b/src/nano.c
index f187961f99e30819bbcd788935ff9d98d35574e1..a5688de44d67582d467129e26ad8dd871cb4f43b 100644
--- a/src/nano.c
+++ b/src/nano.c
@@ -3492,7 +3492,7 @@ int main(int argc, char **argv)
 	kbinput = get_edit_input(&meta_key, TRUE);
 
 	/* Last gasp, stuff that's not in the main lists. */
-	if (kbinput != ERR && !is_cntrl_char(kbinput)) {
+	if (kbinput != ERR && !meta_key && !is_cntrl_char(kbinput)) {
 	    /* Don't stop unhandled sequences, so that people with odd
 	     * character sets can type. */
 	    if (ISSET(VIEW_MODE))