diff --git a/src/box/lua/load_cfg.lua b/src/box/lua/load_cfg.lua
index 87033780643d1201f89ea574e59b58e6af86e515..eb126322428f35910746f898ec3e98a5234f527d 100644
--- a/src/box/lua/load_cfg.lua
+++ b/src/box/lua/load_cfg.lua
@@ -359,7 +359,9 @@ local function load_cfg(cfg)
             end
         end
     end
-    box.schema.upgrade{auto = true}
+    if not box.cfg.read_only then
+        box.schema.upgrade{auto = true}
+    end
 end
 box.cfg = load_cfg