diff --git a/mrbgems/mruby-bin-mirb/tools/mirb/mirb.c b/mrbgems/mruby-bin-mirb/tools/mirb/mirb.c
index d633a09b23829a172ec3f43b2490dd535d96ea45..2fb55c58c7848ed7f425f57334aa5b74f35e2271 100644
--- a/mrbgems/mruby-bin-mirb/tools/mirb/mirb.c
+++ b/mrbgems/mruby-bin-mirb/tools/mirb/mirb.c
@@ -378,7 +378,6 @@ main(int argc, char **argv)
   int i;
   mrb_bool code_block_open = FALSE;
   int ai;
-  unsigned int stack_keep = 0;
 
   /* new interpreter instance */
   mrb = mrb_open();
@@ -549,8 +548,7 @@ done:
         result = mrb_vm_run(mrb,
             proc,
             mrb_top_self(mrb),
-            stack_keep);
-        stack_keep = proc->body.irep->nlocals;
+            cxt->slen);
         /* did an exception occur? */
         if (mrb->exc) {
           p(mrb, mrb_obj_value(mrb->exc), 0);