diff --git a/components/ms4/src/ms4.c b/components/ms4/src/ms4.c
index 6150358a5ce929596a60435e10f67a57923a1b7e..c59177f7775ad4db4266fc7de300dce18f5a835a 100644
--- a/components/ms4/src/ms4.c
+++ b/components/ms4/src/ms4.c
@@ -65,11 +65,11 @@ static void i2c_read(uint8_t reg, uint8_t *data, uint8_t size)
     i2c_cmd_handle_t cmd = i2c_cmd_link_create();
     ESP_ERROR_CHECK(i2c_master_start(cmd));
     ESP_ERROR_CHECK(i2c_master_write_byte(cmd, (i2c_address << 1) | I2C_MASTER_READ, ACK_CHECK_EN));
-    for (i=0; i<size; i++)
+    for (i = 0; i < size-1; i++)
       ESP_ERROR_CHECK(i2c_master_read_byte(cmd, &data[i], ACK_VAL));
     ESP_ERROR_CHECK(i2c_master_read_byte(cmd, &data[i], NACK_VAL));
     ESP_ERROR_CHECK(i2c_master_stop(cmd));
-    ESP_ERROR_CHECK(i2c_master_cmd_begin(i2c_num, cmd, 1000 / portTICK_RATE_MS));
+    i2c_master_cmd_begin(i2c_num, cmd, 1000 / portTICK_RATE_MS);
     i2c_cmd_link_delete(cmd);
 }