diff --git a/src/vm.c b/src/vm.c index 5013c877d4..aa043b06ae 100644 --- a/src/vm.c +++ b/src/vm.c @@ -1750,10 +1750,7 @@ mrb_vm_exec(mrb_state *mrb, const struct RProc *proc, const mrb_code *pc) mrb_exc_set(mrb, exc); goto L_RAISE; } - if (target_class->flags & MRB_FL_CLASS_IS_PREPENDED) { - target_class = mrb_vm_ci_target_class(ci); - } - else if (target_class->tt == MRB_TT_MODULE) { + if ((target_class->flags & MRB_FL_CLASS_IS_PREPENDED) || target_class->tt == MRB_TT_MODULE) { target_class = mrb_vm_ci_target_class(ci); if (!target_class || target_class->tt != MRB_TT_ICLASS) { goto super_typeerror;