diff --git a/src/runtime.c b/src/runtime.c
index 907c3361d6266957cb2f34b734fe095994cc595e..6e4faf2a20c59c2742c56b99823d04b440cc8a25 100644
--- a/src/runtime.c
+++ b/src/runtime.c
@@ -1059,6 +1059,7 @@ pv_runtime_use_host_graphics_stack (PvRuntime *self,
   gboolean any_architecture_works = FALSE;
   g_autofree gchar *localedef = NULL;
   g_autofree gchar *ldconfig = NULL;
+  g_autofree gchar *locale = NULL;
   g_autofree gchar *dir_on_host = NULL;
   g_autoptr(SrtSystemInfo) system_info = srt_system_info_new (NULL);
   g_autoptr(SrtObjectList) egl_icds = NULL;
@@ -1538,6 +1539,23 @@ pv_runtime_use_host_graphics_stack (PvRuntime *self,
                                   NULL);
         }
 
+      locale = g_find_program_in_path ("locale");
+
+      if (locale == NULL)
+        {
+          g_warning ("Cannot find locale in PATH");
+        }
+      else
+        {
+          g_autofree gchar *target = g_build_filename ("/run/host",
+                                                       locale, NULL);
+
+          flatpak_bwrap_add_args (bwrap,
+                                  "--symlink", target,
+                                  "/overrides/bin/locale",
+                                  NULL);
+        }
+
       ldconfig = g_find_program_in_path ("ldconfig");
 
       if (ldconfig == NULL)