diff --git a/builtin/mainmenu/common.lua b/builtin/mainmenu/common.lua
index 5cd16a9eab6ea9111e6307e4cf28b582bb19cfb6..cbc95bc8501a2bf5b46ee4dc95e341b7c4aa00de 100644
--- a/builtin/mainmenu/common.lua
+++ b/builtin/mainmenu/common.lua
@@ -311,7 +311,8 @@ function menu_worldmt(selected, setting, value)
 			if not world_conf:write() then
 				core.log("error", "Failed to write world config file")
 			end
-			return world_conf:set(setting, value)
+			world_conf:set(setting, value)
+			world_conf:write()
 		else
 			return world_conf:get(setting)
 		end