diff --git a/src/conio/cterm.c b/src/conio/cterm.c
index d27f7ed195c8b7a70b8f75a24717d295dec5e8da..7b6f415f5381f4d0aab1bc47db08d3b60c70def7 100644
--- a/src/conio/cterm.c
+++ b/src/conio/cterm.c
@@ -2961,7 +2961,7 @@ static void do_ansi(struct cterminal *cterm, char *retbuf, size_t retsize, int *
 							*speed = newspeed;
 					}
 					else if (strcmp(seq->ctrl_func, "*z") == 0) {
-						if (seq->param_int[0] >= 0 && seq->param_int[0] <= 63) {
+						if (seq->param_count > 0 && seq->param_int[0] <= 63) {
 							if (cterm->macros[seq->param_int[0]]) {
 								if ((cterm->in_macro & (1<<seq->param_int[0])) == 0) {
 									cterm->escbuf[0]=0;