QoS_E_POLICY_APPLY_FAILED (0x806B0022)

QoS policy won't apply after Windows 10 22H2 update

This error usually pops up after a Windows update or a group policy refresh. It means Windows can't enforce your network priority rules. The fix is simpler than you think.

When you see this error

You've set up QoS policies in Group Policy or locally with gpedit.msc. Maybe you're trying to prioritize VoIP traffic or limit background downloads. Everything looks right in the policy editor. But after a Windows update — specifically 22H2 — those policies stop working. You run gpupdate /force, still nothing. Event Viewer shows QoS_E_POLICY_APPLY_FAILED (0x806B0022). The network just ignores your rules.

I've seen this exact thing on maybe 30 machines in the last year. The update breaks something in how Windows applies QoS policies. It's not a hardware problem. Your switch and router are fine.

Root cause

The culprit here is almost always a corrupted or missing registry key under HKLM\SOFTWARE\Policies\Microsoft\Windows\QoS. Windows 10 22H2 changed how it reads policy files. If the key isn't formatted exactly right, it fails silently. The error code shows up, but no one checks Event Viewer until they notice the network is a mess.

Another common trigger: third-party VPN software. I've had cases where Cisco AnyConnect or OpenVPN re-wrote that registry key during an update. Same result — policies don't apply. Don't bother reinstalling the VPN client first. Check the registry.

Fix in 4 steps

  1. Open Registry Editor as admin. Press Win+R, type regedit, hit Enter. Say yes to the UAC prompt.
  2. Navigate to this key: HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows\QoS. If it doesn't exist, right-click the Windows key, select New > Key, name it QoS.
  3. Check the Version DWORD. Inside the QoS key, look for a DWORD called Version. If it's missing, create it: right-click in the right pane, New > DWORD (32-bit), name it Version, set the value to 2. If it exists but has a value other than 2, change it to 2. For some machines, I've had to set it to 1 — try 2 first, if it doesn't stick, switch to 1. Don't ask why Microsoft made it inconsistent; they did.
  4. Apply and test. Close regedit. Open a command prompt as admin and run gpupdate /force. Then run gpresult /r to verify the policies are applied. If you're not using group policy, just restart the PolicyAgent service with net stop PolicyAgent && net start PolicyAgent.

What to check if it still fails

If the error persists after the registry fix, try these in order:

  • Check your firewall. Windows Defender Firewall can block QoS policies if you've got custom rules. Temporarily disable it for 2 minutes — not good practice, but a quick test. If policies start working, export your firewall rules and rebuild them.
  • Look at the QoS Service. Open Services.msc, find QoS Packet Scheduler. Make sure it's set to Automatic and running. If it's disabled, set it to Automatic and reboot. I've seen updates set this to Manual for no reason.
  • Verify your policy syntax. Open gpedit.msc, go to Computer Configuration > Windows Settings > Policy-based QoS. Double-click your policy. Check the DSCP value and throttle rate. A common mistake: using DSCP value 0 when you mean 46. It won't error, but it won't do anything either.
  • Test without the policy. Create a simple QoS policy that limits a specific app to 10 kbps. If that also fails, the issue isn't your values — it's the system. Run sfc /scannow and DISM /Online /Cleanup-Image /RestoreHealth. This fixes corrupted files that might block QoS.

Last resort: uninstall the 22H2 update from Control Panel > Programs > View Installed Updates. Find KB5023772 or similar, remove it, reboot, and block it with the "Show or hide updates" tool. I only do this if nothing else works. Usually the registry fix handles it.

Short version: check the Version DWORD under HKLM\SOFTWARE\Policies\Microsoft\Windows\QoS. Set it to 2. If that fails, try 1. Reboot. Done.

Related Errors in Network & Connectivity
0X000004D2 ERROR_PORT_UNREACHABLE (0X000004D2) — Fix in 3 Steps DNS server not responding Fix 'DNS server not responding' in 30 seconds or less 0XC026251A 0XC026251A: Cannot call IOPMVideoOutput during session type change 0XC00D2EEE NS_E_CANNOT_CONNECT_TO_PROXY (0XC00D2EEE) – Straight Fix

Was this solution helpful?

EP
Erropedia Team
Tech Support Editors
The Erropedia editorial team researches and documents real-world tech errors from across Windows, Linux, macOS, networking, databases, cloud platforms, and more. Every solution is reviewed for accuracy and updated as software and systems evolve.