Fix Color Profile Reverting to sRGB After Sleep on Windows 11
🔍 WiseChecker

Fix Color Profile Reverting to sRGB After Sleep on Windows 11

Quick fix: Wake re-initializes the display chain; ICC color profile reverts to the OS default (sRGB). Re-apply via Color Management or use a PowerShell script triggered on wake event to restore the custom profile. Persistent fix: set the profile as system default in Color Management, not just device default.

You calibrated your monitor with a colorimeter, saving an ICC profile. Set as the device’s default in Color Management. Everything looks right. Sleep the PC, wake it — colors look slightly off, especially blues and reds shifted. The ICC profile is no longer active; Windows reverted to sRGB on wake.

Symptom: ICC color profile reverts to sRGB after the PC wakes from sleep.
Affects: Windows 11 with color-managed monitors.
Fix time: 10 minutes.

ADVERTISEMENT

Why wake breaks color profiles

On wake, Windows’ display initialization sequence re-applies the saved color profile. If the profile is stored as “current user” default rather than “system” default, the wake sequence may run before user-context is fully loaded — the profile fails to apply and the OS uses sRGB. The user-side reapply doesn’t catch up automatically.

Method 1: Set the profile as system default

  1. Right-click the desktop → Display settings.
  2. Scroll down → Advanced displayDisplay adapter properties for Display XColor Management tab.
  3. Click Color Management button. Devices tab.
  4. Check Use my settings for this device.
  5. Click Add…, browse to your ICC file, click Add.
  6. Select the profile and click Set as Default Profile.
  7. Click Advanced tab. Click Change system defaults.
  8. In the new dialog, check Use Windows display calibration off (if it’s on).
  9. On the Devices tab of the new dialog, repeat: add the ICC, set as default. This sets the profile at system level.
  10. OK out of all dialogs.

ADVERTISEMENT

Method 2: Re-apply via PowerShell on wake event

  1. Create a script C:\Scripts\reapply-color.ps1:

    # Use DisplayCAL’s ICC profile loader or direct API call

    (Implementation: load ICC via SetDeviceGammaRamp or call a calibration tool’s reload command. DisplayCAL has a reload utility called loader.)
  2. Open Task Scheduler. Create a task triggered by System Event — Log: System; Source: Power-Troubleshooter; Event ID: 1 (resume from sleep).
  3. Action: powershell.exe -ExecutionPolicy Bypass -File C:\Scripts\reapply-color.ps1.
  4. Save. The script runs on every wake.

Method 3: Use DisplayCAL loader for automatic reload

  1. Install DisplayCAL (free, open source).
  2. It includes a loader utility that runs at logon and re-applies your ICC profile.
  3. Configure it to start with Windows and trigger on display change events.
  4. The loader handles wake events as part of its watchdog.

Verification

  • Sleep, wake, check color. Custom profile is active (subtle color shift compared to sRGB).
  • Open Color Management, current profile shows your ICC as active.
  • Open a known-color image; compare to a sRGB-only display — differences are intentional.

If none of these work

If profile keeps reverting despite system default and wake script, a vendor color tool (NVIDIA, AMD, Intel) may be intercepting at the driver level. Check the GPU control panel for color profile overrides. For chronic reverts, use a hardware calibrator’s software (X-Rite, Datacolor) which manages the profile lifecycle independently.

Bottom line: ICC profiles need system-level binding, not just user-level. Set at both places via Color Management’s Advanced tab. DisplayCAL or a wake-trigger script handles edge cases.

ADVERTISEMENT