diff --git a/mrbgems/mruby-pack/src/pack.c b/mrbgems/mruby-pack/src/pack.c
index df379c003158736e290df99d1e04a89f0e876c38..73428b0dbbc077bcd76e90bb6f5ecf967a1f435e 100644
--- a/mrbgems/mruby-pack/src/pack.c
+++ b/mrbgems/mruby-pack/src/pack.c
@@ -395,7 +395,7 @@ pack_w(mrb_state *mrb, mrb_value o, mrb_value str, mrb_int sidx, unsigned int fl
   }
   str = str_len_ensure(mrb, str, sidx + i);
   p = RSTRING_PTR(str);
-  for (mrb_int j=i; j>0; p++,j--) {
+  for (size_t j=i; j>0; p++,j--) {
     mrb_int x = (n>>(7*(j-1)))&0x7f;
     *p = (char)x;
     if (j > 1) *p |= 0x80;