Registry edit saved but nothing changed: what loaded the old value back
By Daniel Brooks Published 9 min read
On this page (8 sections)
- The short version
- How to confirm the value you see in regedit is actually what is stored on disk
- A blocked write throws an error, an overwritten write throws nothing
- Why an edit under HKCU behaves differently from HKLM for the account you are signed in as
- What writes the old value back: roaming profiles, policy, or a restore point
- Whether the edit needs a sign-out, restart, or service reload before it can take effect
- The order to check: stored value, then loaded process, then reboot
- Questions people still ask
In short: You saved a registry edit but nothing changed because the value you see in Regedit may not match what's stored on disk, or because a process, policy, or roaming profile wrote the old value back after you closed the editor. Confirm the stored value first, then check whether a running service reloaded its configuration, and only then reboot to rule out a stale in-memory copy.
Part of our guide on fix audio driver windows 11
A registry edit that saves without an error has already passed the hardest test, which is why the old value coming back points somewhere else.
| First check | Reopen Regedit on the same key |
|---|---|
| HKCU scope | Signed-in account only |
| HKLM scope | All users, machine-wide |
| Policy refresh | Every 90 minutes by default |
| Group Policy offset | 0-30 minute random delay |
| Hive load time | At sign-in or boot |
| Typical error | Access denied on save |
The short version
- Check the stored value with a new Regedit session before you touch anything else. A stale window lies.
- HKCU belongs to the signed-in account. HKLM is machine-wide and reloads at sign-out, not just reboot.
- Group Policy and roaming profiles overwrite HKCU values on a schedule, so your edit disappears without a trace.
- A change under HKLM usually needs a service restart or process relaunch to reach the running program.
- Watch the error text on save. Access denied means blocked, success followed by reversion means something loaded the old value back.
How to confirm the value you see in regedit is actually what is stored on disk
Say you rename a key under HKEY_CURRENT_USER\Software and Regedit closes without an error. You reopen it and the old name is still there. That is not a save failure. Regedit redraws a key from its in-memory copy, so the window you edited in can keep showing you a value the hive no longer holds.
Force a fresh read. Close every Regedit window, reopen the tool, and walk the tree back to the key by hand instead of pressing F5. A forced refresh sometimes shows the cached copy, which makes a failed write look successful.
The stored value sits in a hive file such as NTUSER.DAT for your account or SYSTEM for machine settings. Windows loads it at sign-in or boot. Until that load happens, the disk copy is the authority, not what any open window claims.
If the key is genuinely gone after the fresh open, the write never landed. Move to the permission checks below rather than chasing a mystery process. The other half of this decision is fixing sleep mode battery issues.
- Close all Regedit windows completely.
- Reopen regedit.exe from the Start menu search box.
- Navigate to the exact key path without using refresh.
- Read the value name and type, not just the data.
- Export that branch to a
.regfile and open it in Notepad to see what is stored.
A blocked write throws an error, an overwritten write throws nothing
Picture saving a value and watching the dialog vanish instantly. No message, no sound, and the key is unchanged a minute later. That is the overwrite pattern, not a permission problem.
Blocked writes are loud. You get a red error box saying the value cannot be created or written, usually Access denied, and the dialog stays until you dismiss it. If you saw no error at all, the write almost certainly succeeded and something replaced it afterwards.
The two failures sit at opposite ends of a timeline. A blocked write fails at the moment of saving. An overwritten write succeeds, then loses a race to another process that runs later and writes the old data back. If that sounds like your situation, read up on altgr stops working after win10 sleep next.
Match the symptom to the timeline before you open the permissions editor. Most people start by taking ownership of a key that was never locked.
| Symptom | When it happens | What to do |
|---|---|---|
| Error box on save | At the moment of writing | Check key permissions and ownership |
| Silent success, old value returns | Seconds or minutes later | Find the process that rewrites it |
| Value survives until reboot | At sign-out or startup | Suspect policy or a startup service |
| Value changes back while you watch | Continuously | A running program is holding the key |
Why an edit under HKCU behaves differently from HKLM for the account you are signed in as
Say you set a value under HKEY_LOCAL_MACHINE\Software and it works until you sign out. HKCU is the private copy Windows loads for your account, so an edit there changes only what you see. HKLM is shared, and a change there is machine-wide from the next load onward.
That difference decides who sees your edit and when. A fix under HKCU applies the moment the program reads it, with no reboot. A fix under HKLM often waits for a service restart or a full sign-out because the running process already has the old values mapped. People in this spot often ask about how full is my computer storage as well.
Under HKLM, a standard account cannot write without elevation, and on a domain machine policy can also reset the same key. If the value returns after a sign-out, suspect policy before you suspect corruption.
A useful rule: HKCU answers to your profile, HKLM answers to the machine and anyone managing it.
What writes the old value back: roaming profiles, policy, or a restore point
A roaming or mandatory profile is the classic silent overwrite. Your profile folder syncs from a server at sign-in, replacing the local NTUSER.DAT with the stored copy. Any HKCU edit you made before that sync is gone. If that sounds like your situation, read up on stop windows waking from sleep in bag next.
Group Policy is the second culprit. Policy settings reapply periodically, and the refresh has a random offset added to that cycle. Under HKLM, a policy-driven key gets rewritten with the managed value, undoing your edit while you watch.
System Restore does not quietly change registry values in place. It swaps broader state, so treat it as a cause only after you see a matching restore event, not as the first suspect.
Check the account type, then check for policy, before assuming the registry is at fault. One of those two explains most silent reversions. The other half of this decision is bat file continue after error on windows.
| When the old value returns | Most likely cause |
|---|---|
| Right after sign-out or sign-in | Roaming or mandatory user profile |
| Every 90 minutes or so | Group Policy reapplying settings |
| After a service restarts | A service that owns the key |
| Only after a full reboot | A startup process writing the value |
| After a restore or update | System restore or an update reset |
Whether the edit needs a sign-out, restart, or service reload before it can take effect
Say the value is correct in the hive but the program still behaves the old way. The hive is only read when a profile loads or when a process starts. Change HKCU and you typically need only a relaunch of that program, not a full reboot.
Change HKLM and you often need to restart the service or process that reads it, because the process pulled its settings at launch and will not notice the new value on its own. If the key is a user preference, sign out and in; if it is machine-wide, restart the service or the PC.
A reboot is the slowest reliable way to confirm the value survived. It re-reads every hive and restarts every service. Before you reboot, decide whether you need a service restart or a full restart, and try the smaller one first.
The faster test: check the stored value, then the loaded process, then the reboot, in that order.
- Verify the stored value in a fresh Regedit session.
- Restart only the program that reads the key and retest.
- Restart the related Windows service if the program has one.
- Sign out and back in if the key is under HKCU.
- Reboot if the key is under HKLM and the value still does not stick.
The order to check: stored value, then loaded process, then reboot
Work the checks in a fixed order and each failure names itself. Look at the stored value first, because the write, not the reply, is what fails most often. If the file holds your value, the problem is a process, not the code.
Then look at the loaded process. A service that reads the key once at boot will not pick up a new value, so restart that process and test again. Only when the stored value reverts on its own is something actively rewriting it.
A monitoring tool that logs registry changes can shorten this step. Instead of guessing which process rewrote the key, you get a timestamp and a process name, which is the difference between a full afternoon and a two-minute restart.
A registry change can also be a sign a program is configured the wrong way. If a specific setting keeps reverting, checking whether the program has its own preferences file is often faster than fighting the registry.
For a value that will not stick, check the file before the process: most reversions are storage or policy, not a running program.
Questions people still ask
Why does my registry edit keep reverting after I sign out?
Your account is probably using a roaming or mandatory profile, which restores the stored NTUSER.DAT at sign-in. Any HKCU change made before that sync is replaced. Check whether the account is local or domain-joined first.
Do I always need to reboot to apply a registry change?
No. A change under HKCU often applies when you relaunch the program. A change under HKLM may need the reading service restarted instead. Reboot only when the value is machine-wide and the running service did not pick it up.
Why does Regedit show my change even when the stored value is old?
Regedit redraws the view from memory, so an open window can keep showing the old or new value after the hive changed. Close every Regedit window and open the key again, or export the branch to a .reg file and read it.
Is a system restore point bringing the old value back?
Not by itself. System Restore changes broader machine state rather than a single value, so it is a poor first suspect. Look for a restore or update event that lines up with the reversion before blaming it.
What does Access denied actually mean when I save a registry value?
It means the write never landed. The key or hive is protected, often because of permissions or ownership rules, so nothing was stored. Fix the permission and save again before you look for anything that might overwrite the value.