diff --git a/src/runtime.c b/src/runtime.c
index 8bdca94dc0287b0280160bb18f3a6a2246638559..3792fad69aaee19eefb74dcbbd78a5c39b9729a2 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;
@@ -1585,6 +1586,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)