NS_E_WMP_UI_SECONDHANDLER (0XC00D0FE6): Fix the double event handler
Windows Media Player throws this when a UI element gets two event handlers for the same event. The fix: remove duplicate handlers or clean corrupted skin files.
1. Duplicate event handlers in a custom skin or script
This is the most common trigger. What's actually happening here is that Windows Media Player's UI engine — specifically the skin parser — encounters an event like onclick or onmouseover bound to the same element twice. The spec says only one handler per event per element is allowed. The second assignment gets ignored, and you get 0XC00D0FE6.
I've seen this most often when someone edits a skin file (.wmz or .wms) in a text editor and accidentally pastes the same block of JavaScript twice. Or when two different skin elements share the same ID and each has its own event handler — the engine can't tell them apart.
Fix: Hunt down and remove the duplicate
- Find your skin files. They're usually in
%appdata%\Microsoft\Windows Media Player\Skinsor wherever you extracted them. - Open the skin's XML/JS files in a plain text editor (Notepad++ works fine).
- Search for the event name in the error — if the error says
onclick, search foronclick. - Look for two identical or nearly identical event assignments on the same element ID. Example of the problem:
<Button id="playBtn" onclick="JScript: play()" />
<Button id="playBtn" onclick="JScript: play()" /> <!-- duplicate -->
Delete the second one. The skin engine doesn't care about ordering — it processes top to bottom and throws the error on the second occurrence. Save, restart WMP, and test.
If you're not sure which event, the error message often includes the event name. Look for text like "the %s event already has a handler" — that %s gets replaced with the actual event name at runtime.
2. Corrupted skin file or registry leftover
Sometimes the skin file itself is fine, but Windows Media Player's internal cache or registry entry for the skin gets corrupted. This happened to me on Windows 10 22H2 after a Windows Update replaced some WMP components — the old skin entry pointed to a file that was partially overwritten.
The reason step 3 works is that WMP then re-registers the default skin, which has no duplicate handlers by design. But if you're attached to a custom skin, you can fix the corruption without nuking everything.
Fix: Reset the skin cache and re-register the skin
- Close Windows Media Player completely — check Task Manager for
wmplayer.exeprocesses. - Open File Explorer and navigate to
%appdata%\Microsoft\Windows Media Player\. - Delete the
Skinsfolder inside there. Don't worry — WMP will recreate it. - Press
Win + R, typeregedit, and go to:
HKEY_CURRENT_USER\Software\Microsoft\MediaPlayer\Preferences\Skins
Delete any entries under that key that reference the problem skin. You'll see one or more string values with paths like C:\Users\...\Skins\myskin.wmz. Remove them.
- Reinstall your custom skin from a fresh download. Don't copy the old one — the source file might be corrupted too.
If you don't want to mess with the registry, a simpler alternative: in WMP, go to Tools > Options > Skins, select a different skin, apply it, then switch back to your original. This cleans the active skin reference without deleting files. It works because WMP re-reads the skin file from scratch when you toggle.
3. Third-party plugins hooking into WMP's UI events
Less common, but I've seen it with older visualization plugins and codec packs that inject their own event handlers into WMP's player window. The plugin registers a handler for onplaystatechange or similar, and the skin file also has one — boom, second handler ignored error.
The giveaway is the error appears only when a specific plugin is active. You'll notice it after installing something like an old Winamp DSP plugin bridge or a visualizer pack.
Fix: Disable or remove the conflicting plugin
- In WMP, go to Tools > Options > Plug-ins.
- Look under Background and Visualization categories.
- Uncheck any plugin you suspect — especially recently installed ones. If you're not sure, disable all non-Microsoft plugins.
- Restart WMP. If the error disappears, re-enable plugins one by one until you identify the culprit.
What's actually happening here is that the plugin registers its event handler using IWMPEvents or IWMPPlayerEvents on the same object that the skin uses. The skin's handler is set first (during skin load), and the plugin's attempt to set another fails. The order of registration matters: skins win over plugins because they load earlier in the pipeline.
If you can't live without the plugin, check if it has a configuration option to use a different event registration method — some let you defer to the skin.
Quick reference
| Cause | Error context | Fix action |
|---|---|---|
| Duplicate handler in skin file | Error mentions specific event name (onclick, onmouseover, etc.) | Remove the second event assignment from the skin XML |
| Corrupted skin cache/registry | Error appears after Windows update or skin switch | Delete Skins folder or registry entries, reinstall skin |
| Third-party plugin conflict | Error appears only when a specific plugin is active | Disable plugin in Tools > Options > Plug-ins |
That's it. No need to reinstall WMP or run system file checker — this error is almost always a configuration issue, not a corrupted system file. Start with the skin, then check plugins, and you'll have it fixed in ten minutes.
Was this solution helpful?