You're in the middle of a presentation, you yank the HDMI cable to switch to another monitor, plug it back in, and bam — black screen. Or maybe you're a dev with a multi-monitor setup and you've been rapidly cycling display modes in DirectX. The exact error is 0xC01E0350, and Windows tells you: "Only one unassigned mode set can exist at any one time for a particular VidPN source or target." It's not a driver corruption or a hardware failure — it's a timing lock the graphics stack puts on itself.
VidPN stands for Video Present Network. Think of it as the road map your GPU uses to connect a source (like your graphics card output) to a target (your monitor). Every time you plug in a new display or change a resolution, Windows creates a "mode set" — a set of timings and resolutions. That mode set starts as "unassigned" while the system figures out where to route it. The problem? The rule says only one unassigned mode set per source or target can exist at a time. If something creates a second one before the first gets locked in — like hot-plugging multiple times in under a second — you get this error.
How to Fix It — Real Steps
Skip the usual reinstall drivers crap. That doesn't fix a timing lock. Here's what actually works:
- Restart the graphics driver (not full reboot). Press Win + Ctrl + Shift + B. This restarts your GPU driver without closing apps. If you're lucky, the driver flushes the stale mode set and your screen comes back. Had a client whose Dell laptop kept doing this when docking — this hotkey saved her five minutes every morning.
- Full reboot if the hotkey doesn't work. Yeah, boring, but necessary. The driver restart doesn't always clear the kernel's internal state. A reboot wipes the entire VidPN cache. Do a clean restart (not fast startup — that hibernates the kernel).
- Check for stuck mode sets in Event Viewer. Open Event Viewer, go to
Applications and Services Logs > Microsoft > Windows > Display. Look for event ID 0 from sourceMicrosoft-Windows-DxgKrnl. If you see the error code, that confirms the lock. No further action needed — just know it's not corrupt drivers. - Adjust your hot-plug timing. Wait 2-3 seconds between unplugging and replugging a display. Seriously. The Windows graphics stack is not built for rapid plug/unplug cycles. If you need to switch displays fast, use the Win + P menu instead of yanking cables.
- Update your GPU driver — but only if the hotkey and reboot fail. Get the latest driver from NVIDIA, AMD, or Intel directly (not Windows Update). But I've seen this exact error with drivers from every vendor. It's a Windows kernel issue, not a driver bug.
What to Check If It Still Fails
If you've done all that and still get the error, you've probably got a deeper issue:
- Check for third-party display management tools. DisplayFusion, Actual Multiple Monitors, or your monitor's own software can create additional mode sets when you hot-plug. Uninstall them temporarily and test.
- Run the DirectX diagnostic tool. Open
dxdiag.exeand check the Display tabs. Look for any driver crashes logged. If you see repeated crashes, you might have a hardware issue with the output port or cable. - Test with a different cable or display. Cheap HDMI cables or faulty ports can send glitched EDID data, making Windows create duplicate mode sets. I had a client whose USB-C to HDMI adapter was fried — swapped it and the error vanished.
- If you're a developer writing custom graphics code, make sure you're not calling
SetDisplayMode()orChangeDisplaySettingsEx()in rapid succession without waiting for the previous call to complete. Use theDEVMODE.dmFieldsflags correctly, or the kernel will reject your mode set with this error.
Bottom line: 0xC01E0350 is a "slow down" error. Windows can't keep up with your fast hot-plugging. Use the keyboard shortcut first, reboot second, and if you're still stuck, look at your cables or third-party software. Don't waste time on driver reinstall — that's not the problem here.