diff --git a/mod/box/box.m b/mod/box/box.m
index 8361a76680bf15414c4b99976d797a6979a2b668..58d1568d115d8a5cb6e08a2d2c56c1cd4e247224 100644
--- a/mod/box/box.m
+++ b/mod/box/box.m
@@ -2143,7 +2143,7 @@ mod_init(void)
 		      cfg.wal_fsync_delay,
 		      init_storage ? RECOVER_READONLY : 0, NULL);
 
-	recovery_state->snap_io_rate_limit = cfg.snap_io_rate_limit * 1024 * 1024;
+	recovery_update_io_rate_limit(cfg.snap_io_rate_limit);
 	recovery_setup_panic(recovery_state, cfg.panic_on_snap_error, cfg.panic_on_wal_error);
 
 	stat_base = stat_register(messages_strs, messages_MAX);
diff --git a/src/log_io.m b/src/log_io.m
index ba28be8874a816e23fb016412fbb80b34a67fba9..ac1ef27c48a1e2484dcce0a6fe899c2c6005dcae 100644
--- a/src/log_io.m
+++ b/src/log_io.m
@@ -1631,7 +1631,7 @@ recovery_update_mode(const char *mode, double fsync_delay)
 void
 recovery_update_io_rate_limit(double new_limit)
 {
-	recovery_state->snap_io_rate_limit = new_limit;
+	recovery_state->snap_io_rate_limit = new_limit * 1024 * 1024;
 }
 
 void