diff --git a/src/vm.c b/src/vm.c index 26e59e0a4..ca14aef20 100644 --- a/src/vm.c +++ b/src/vm.c @@ -2440,7 +2440,7 @@ RETRY_TRY_BLOCK: kdict = regs[mrb_ci_kidx(ci)]; } if (!kd) { - if (!mrb_nil_p(kdict) && mrb_hash_size(mrb, kdict) > 0) { + if (!mrb_nil_p(kdict) && mrb_hash_p(kdict) && mrb_hash_size(mrb, kdict) > 0) { if (argc < 14) { ci->n++; argc++; /* include kdict in normal arguments */