diff --git a/game/engines/default/engine/I18N.lua b/game/engines/default/engine/I18N.lua
index 7f13b1f4994d8cf94dbf596013b2ff17ee489973..6d8054fda788927c5ed0f1fe55f5b9afb0ac2f15 100644
--- a/game/engines/default/engine/I18N.lua
+++ b/game/engines/default/engine/I18N.lua
@@ -115,6 +115,12 @@ function _M:loadLocale(file)
 	print("[I18N] Loaded locale file:", file)
 end
 
+function _M:resetBreakTextAllCharacter()
+	if _getFlagI18N("break_text_all_character") then
+		core.display.breakTextAllCharacter(true)
+	end
+end
+
 function _M:setLocale(lc)
 	cur_locale_name = lc
 	if not locales[lc] then locales[lc] = {} end
diff --git a/game/engines/default/engine/Module.lua b/game/engines/default/engine/Module.lua
index caf98cb10affdc256aad08239a72513e73b54808..d1ce9aba8467d828a57a5da67cf05bba3709dc95 100644
--- a/game/engines/default/engine/Module.lua
+++ b/game/engines/default/engine/Module.lua
@@ -925,7 +925,7 @@ function _M:instanciate(mod, name, new_game, no_reboot, extra_module_info)
 	core.game.resetLocale()
 
 	-- Reset white space breaking
-	core.display.breakTextAllCharacter(true)
+	core.display.breakTextAllCharacter(false)
 
 	-- Turn based by default
 	core.game.setRealtime(0)
@@ -946,6 +946,7 @@ function _M:instanciate(mod, name, new_game, no_reboot, extra_module_info)
 	-- Load localizations
 	if mod.i18n_support and config.settings.locale then
 		I18N:loadLocale("/data/locales/"..config.settings.locale..".lua")
+		I18N:resetBreakTextAllCharacter()
 	end
 
 	-- Load font packages