diff --git a/src/nano.c b/src/nano.c
index 0da1bd5a1302b77bb6bbd8953d0b4aaedd658d56..ace2a8d1907bd71e31983f08cfdb7ca1fc7d549f 100644
--- a/src/nano.c
+++ b/src/nano.c
@@ -1532,7 +1532,7 @@ int get_keycode(const char *keyname, const int standard)
 #ifdef HAVE_KEY_DEFINED
     const char *keyvalue = tigetstr(keyname);
 
-    if (keyvalue != 0 && keyvalue != (char *)-1)
+    if (keyvalue != 0 && keyvalue != (char *)-1 && key_defined(keyvalue))
 	return key_defined(keyvalue);
     else
 #endif