diff --git a/ChangeLog b/ChangeLog
index 6adb990a0c6406fb5edd68ea488a5af49879c083..2b16539f3c81f368ff04a54ba82512aa94166275 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -169,6 +169,8 @@ CVS code -
 	- If they're defined, translate KEY_SUP into NANO_PREVLINE_KEY
 	  and KEY_SDOWN into NANO_NEXTLINE_KEY, since they are sometimes
 	  generated by Shift-Up and Shift-Down. (DLR)
+	- Translate KEY_EVENT to ERR if we get it, so that it's properly
+	  ignored. (DLR)
   parse_escape_seq_kbinput()
 	- Handle unknown and unignored escape sequences once here
 	  instead of twice in parse_kbinput(). (DLR)
diff --git a/src/winio.c b/src/winio.c
index 06328a2a454bcfe296226090de592f3771a75803..5a9de0726c3c77b97546b40716d1867dd991a2c8 100644
--- a/src/winio.c
+++ b/src/winio.c
@@ -650,6 +650,12 @@ int parse_kbinput(WINDOW *win, bool *meta_key, bool *func_key)
 	    case KEY_RESIZE:
 		retval = ERR;
 		break;
+#endif
+#ifdef KEY_EVENT
+	    /* Slang doesn't support KEY_EVENT. */
+	    case KEY_EVENT:
+		retval = ERR;
+		break;
 #endif
 	}