diff --git a/src/conio/cterm.c b/src/conio/cterm.c
index 451523b5b926caf5bb0fce727caa999a0d659ceb..ef7ed4bb36de55b536b732291825f0ed423bd959 100644
--- a/src/conio/cterm.c
+++ b/src/conio/cterm.c
@@ -1001,6 +1001,8 @@ static bool parse_sub_parameters(struct sub_params *sub, struct esc_seq *seq, un
 	for (p=seq->param[param]; *p; p++)
 		if (*p == ':')
 			sub->param_count++;
+	if (sub->param_count == 0)
+		return true;
 	sub->param_int = malloc(sub->param_count * sizeof(sub->param_int[0]));
 	if (sub->param_int == NULL)
 		return false;