0X0000370E

Fix 0x0000370E: Malformed localized substitution string

Windows Errors Intermediate 👁 0 views 📅 May 28, 2026

This error means a localization string had a broken placeholder like %1 or %s. Usually a corrupted language pack or bad app install. Three fixes, simplest first.

What's actually happening here

The error 0x0000370EERROR_MALFORMED_SUBSTITUTION_STRING — fires when Windows or an app tries to build a formatted string with placeholders like %1, %s, or {0}, but the data it's trying to plug in is missing, swapped, or just wrong. Imagine a recipe that says "add %1 cups of sugar" but %1 is empty — the whole thing breaks.

This most often shows up in the Event Viewer logs, during app crashes, or when you see a generic error dialog in something like an old Microsoft Management Console snap-in or a control panel applet. It's not a BSOD — it's an application-level "I can't format this string right" complaint.

The root cause is almost always a corrupted language pack, a botched Windows Update that messed up localized resource files (.mui files), or a badly written installer that clobbered a registry string. Let me walk you through the fixes, from a 30-second sanity check to a full language pack rebuild.

Fix 1: Quick SFC scan (30 seconds)

Run System File Checker first. It's the fastest way to catch a corrupted .mui or .dll that's causing the formatting disaster.

  1. Open Command Prompt as admin (right-click Start, pick Command Prompt (Admin) or Terminal (Admin)).
  2. Type this and hit Enter:
  3. sfc /scannow
  4. Wait. It'll take a couple minutes. SFC compares every protected system file against its cached copy. If it finds a mismatch — say a language resource file got half-written during an update — it replaces it.

If SFC reports it found and fixed files, reboot and test. The error should be gone. If SFC says it couldn't fix something, move to Fix 2.

Fix 2: DISM to repair the component store (5 minutes)

When SFC fails, the corruption is deeper — the cached copy itself is bad. DISM (Deployment Image Servicing and Management) pulls fresh files from Windows Update to rebuild the component store.

  1. Still in an admin prompt, run:
  2. DISM /Online /Cleanup-Image /RestoreHealth
  3. This connects to Windows Update (or you can point it to a Windows install .wim if you're offline). It'll download and replace any corrupted files in the system image, including all language pack resources.
  4. Once it finishes (usually 5-10 minutes), run sfc /scannow again — DISM fixes the underlying store, then SFC can recheck and replace any leftover bad files.

This resolves about 90% of malformed substitution string errors. If you're still seeing the error, the problem is likely in a specific language pack.

Fix 3: Remove and reinstall the offending language pack (15+ minutes)

The error is storing inside a .mui file for your display language. The safest route: strip that language pack off, reboot, then add it back cleanly.

Before you do anything, note your current display language. Go to Settings > Time & Language > Language & region. Under Windows display language, write down what's selected (e.g., "English (United States)").

  1. In that same settings page, click Add a language and pick any other language — say French or German. Install its language pack. This is temporary.
  2. Under Windows display language, switch to the new language. You'll be prompted to sign out. Do that.
  3. Sign back in. Now your system is using the temporary language. This unloads all the .mui files for your original language.
  4. Go back to Language & region, find your original language, click the three dots, and choose Remove. This deletes the entire language pack — including the corrupted resource files.
  5. Reboot again (yes, another one).
  6. Now add your original language back: click Add a language, find it, install it fully. It'll download a fresh language pack from Windows Update.
  7. Switch the display language back to it, sign out, sign in.

The corrupted .mui files are gone. The error should stop.

Why step 6 works: The old language pack's registry entries and files are wiped when you remove it. Reinstalling pulls a clean copy from Microsoft's servers. The malformed substitution strings — which were baked into the original download — are replaced with correct ones.

If you're still stuck: Check the event log for the specific app

Open Event Viewer (eventvwr.msc), go to Windows Logs > Application. Look for entries with the source name of the crashing app and error code 0x0000370E. The details will often tell you which string resource ID or which module (like shell32.dll.mui) failed. That can point you to reinstalling just that app instead of the whole language pack.

But honestly, 95% of the time, Fix 2 (DISM + SFC) is enough. If you're reading this after trying that, the language pack removal is your final move. After that, you're looking at a Windows repair install, which is a whole other article.

Was this solution helpful?