diff --git a/dynamixel_base/src/dynamixel_slave.c b/dynamixel_base/src/dynamixel_slave.c
index 3a79a051c12c12421b119f039f1431da8ba76a9e..65d7bc4ddb133cd3f289932be97e7dd49d33a6e9 100644
--- a/dynamixel_base/src/dynamixel_slave.c
+++ b/dynamixel_base/src/dynamixel_slave.c
@@ -106,8 +106,8 @@ unsigned char dyn_slave_check_new_packet(TDynamixelSlave *slave)
 
 void dyn_slave_loop(TDynamixelSlave *slave)
 {
-  unsigned char i,send_status=0xFF,error,data[MAX_DYN_SLAVE_TX_BUFFER_LEN];
-  unsigned short int length;
+  unsigned char send_status=0xFF,error,data[MAX_DYN_SLAVE_TX_BUFFER_LEN];
+  unsigned short int length,i;
   unsigned char *buffer;
 
   if(slave!=0x00000000)
@@ -155,7 +155,7 @@ void dyn_slave_loop(TDynamixelSlave *slave)
           dyn_slave_send_cb(slave);
       }
       // erase header of the current buffer
-      for(i=0;i<4;i++)
+      for(i=0;i<MAX_DYN_SLAVE_RX_BUFFER_LEN;i++)
         buffer[i]=0x00;
     }
     else