diff --git a/src/winio.c b/src/winio.c
index 5a8ae1c12e40a67925ebeda79d0e50a45623fe91..2d6d74050fa092e394322e996fd477b3dfa5ca35 100644
--- a/src/winio.c
+++ b/src/winio.c
@@ -1415,12 +1415,10 @@ const shortcut *get_shortcut(const shortcut *s_list, int kbinput, bool
 	 * 4. func_key is TRUE and the key is a function key in the
 	 *    shortcut list. */
 
-	if (kbinput != NANO_NO_KEY && ((*meta_key == FALSE &&
-		*func_key == FALSE && kbinput == s->ctrlval) ||
-		(*meta_key == TRUE && *func_key == FALSE &&
-		(kbinput == s->metaval || kbinput == s->miscval)) ||
-		(*meta_key == FALSE && *func_key == TRUE &&
-		kbinput == s->funcval))) {
+	if (kbinput != NANO_NO_KEY && kbinput == s->ctrlval ||
+		(*meta_key == TRUE && (kbinput == s->metaval ||
+		kbinput == s->miscval)) || (*func_key == TRUE &&
+		kbinput == s->funcval)) {
 	    break;
 	}