diff --git a/src/winio.c b/src/winio.c
index 42aaae6cfec22b6b706de99505f9800ceeebc6d0..85f9f881e8428cba332a5ba41a325e53255abff1 100644
--- a/src/winio.c
+++ b/src/winio.c
@@ -1463,7 +1463,8 @@ int *get_verbatim_kbinput(WINDOW *win, size_t *kbinput_len)
     retval = parse_verbatim_kbinput(win, kbinput_len);
 
     /* If the code is invalid in the current mode, discard it. */
-    if ((*retval == '\n' && as_an_at) || (*retval == '\0' && !as_an_at)) {
+    if (retval != NULL && ((*retval == '\n' && as_an_at) ||
+				(*retval == '\0' && !as_an_at))) {
 	*kbinput_len = 0;
 	beep();
     }