Fix it now
Windows could not load the user’s real profile and built a throwaway one, so the desktop is empty and everything done in the session is discarded at logoff. The usual cause is a leftover .bak entry under ProfileList, and repairing that key pair brings the real profile back with the data intact.
reg export "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\ProfileList" C:\temp\profilelist.reg
whoami /user
- Stop the user logging back on while you work, or the temporary profile is rebuilt on top of your changes.
- Open
regeditand go toHKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\ProfileList. Find the user’s SID. Two keys for the same SID, one of them ending.bak, is the fault. - Delete the key without the suffix, which describes the temporary profile, then rename the
.bakkey so the suffix is gone. - In the restored key, set
RefCountandStateto 0, and confirmProfileImagePathpoints at a folder that still exists on disk. - Log the user on and confirm their own desktop, documents and application settings are back.
Be certain which SID belongs to which user before you delete anything. Removing the wrong key orphans a profile and the user loses access to their existing data until it is repointed.
If their real profile returns, you are done. If it happens again to the same person, or to several people at once, the next section covers what is actually failing at load time.
Why it happens
Every profile on a machine has an entry under ProfileList keyed by the account’s SID. That entry records where the profile folder lives, how many sessions currently hold it, and what state it is in. At logon Windows reads the entry, loads NTUSER.DAT from the folder named in ProfileImagePath, and mounts it as the user’s registry hive. If any part of that fails, Windows renames the entry with a .bak suffix, builds a temporary profile so the logon can still complete, and logs the failure. The real profile is left alone on disk, which is why this is almost always recoverable.
On a Session Host the effect is disguised. One person at a time is affected, they get a working but empty desktop, and it is reported as that person’s problem rather than as a profile service fault. The tell is that everything they do vanishes at logoff and comes back to nothing the next morning.
Roaming setups add a second surface. The profile lives on a share, is copied down at logon and back at logoff, and the folder carries a version suffix tied to the Windows build: .V2 for Windows 7 and Server 2008 R2, through .V5 for Windows 10, and .V6 from Windows 10 version 1607 onwards. An unreachable share, permissions that stop the user reading their own folder, a full volume, or a host rebuilt at a different Windows version that now expects a different suffix all produce a temporary profile while the real data sits untouched on the server.
One thing to discount early. The User Profile Service also logs an entry saying the registry file is still in use by other applications or services, and it is tempting to treat that as the smoking gun for a handle leak. Microsoft states plainly that this one can safely be ignored. If you are chasing a repeat offender, chase the pattern, not that entry.
A leftover .bak entry under ProfileList
You have this one if The user’s SID appears twice under ProfileList, once plain and once with a .bak suffix, and their real profile folder still exists.
- Export the ProfileList key before touching it.
- Delete the plain key, which describes the temporary profile, and rename the
.bakkey to take its place. - Set
RefCountandStateto 0 in the restored key. - Confirm
ProfileImagePathmatches the folder that actually holds the data, then log the user on.
If the real profile folder was itself renamed at some point, point ProfileImagePath at the folder holding the data rather than at the name you expected to see.
The roaming profile share is unreachable or the rights are wrong
You have this one if Only roaming users are affected and the failure names a server path rather than a local folder.
- From the host, confirm the share resolves and is reachable, and that the profile path on the account is correct.
- Check share and NTFS rights. The user needs full control of their own profile folder, and the folder should be created by the system on first use rather than by hand.
- Check free space and any quota on the share.
- Confirm the folder’s version suffix matches what this Windows build expects.
The host or the profile volume is out of space
You have this one if Several users start getting temporary profiles on the same host within a short window, with nothing in common but the machine.
- Check free space on the system volume and on whichever volume holds profiles.
- Remove old profiles with the policy that deletes profiles older than a set number of days at restart, rather than deleting folders by hand.
- Clear ProfileList entries for accounts that no longer exist, after confirming the folders they point at are genuinely dead.
The Windows version under the profile changed
You have this one if Everyone worked yesterday, a host was rebuilt or upgraded, and every roaming user now gets a fresh profile.
- List the profile folders on the share and read the version suffixes in use.
- Decide deliberately whether to migrate the old profiles or start clean, and tell users which it is before they log on.
- Keep every host in a collection on the same Windows Server version so profiles do not bounce between suffixes.
Something holds the hive open at logoff
You have this one if The same accounts break again a few days after every repair, and always on the same hosts.
- Identify what runs in the session at logoff: antivirus, backup, monitoring and search agents are the usual candidates.
- Exclude the profile paths and NTUSER.DAT from real-time scanning where the vendor supports it.
- Update the agent. Handle leaks at logoff are a well-known and frequently fixed class of bug.
Do not use the ‘registry file still in use’ event as your evidence for this. Microsoft says it can be ignored. Use the repeat pattern and the agent’s own logs instead.
Full reference
The values inside a ProfileList entry
| Value | What it is for | What you set it to during a repair |
|---|---|---|
ProfileImagePath |
The folder holding the profile | The folder that actually contains the user’s data |
RefCount |
How many sessions currently hold the profile | 0 |
State |
Profile state flags carried from the last load | 0 |
Sid |
Binary form of the account’s SID | Left alone |
Where to read what happened
| Log | Path | What it is good for |
|---|---|---|
| Application | Windows Logs, Application, filtered on source User Profiles Service | The record of the failed load itself |
| User Profile Service operational | Applications and Services Logs, Microsoft, Windows, User Profile Service, Operational | Enabled by default; the sequence around logon and logoff |
| User Profile Service diagnostic | The same branch, Diagnostic, after enabling Show Analytic and Debug Logs | Off by default; turn it on only for a reproducible case |
Microsoft does not publish meanings for the individual profile event numbers, so read the text of the entries rather than looking the numbers up. The one number Microsoft does address is the ‘registry file is still in use’ entry, and it says to ignore it.
Roaming profile folder suffixes
| Client or host version | Folder |
|---|---|
| Windows 7, Windows Server 2008 R2 | \\server\share\username.V2 |
| Windows 8, Windows Server 2012 | \\server\share\username.V3 |
| Windows 8.1, Windows Server 2012 R2 | \\server\share\username.V4 |
| Windows 10 | \\server\share\username.V5 |
| Windows 10 version 1607 and later | \\server\share\username.V6 |
A host moved to a newer Windows version looks for a suffix that does not exist yet, finds nothing, and creates a new profile. That is not a fault to repair, it is a migration to plan. Mixed-version collections make it a permanent condition, which is the real argument for keeping every host in a collection on one build.
Before you delete a profile
- Copy the folder somewhere safe first. A rebuild loses application settings, mail signatures, stored credentials and anything saved outside redirected folders.
- Delete through the profile list in System Properties, or with the policy that removes profiles older than a set age, rather than by deleting the folder. Deleting the folder leaves the ProfileList entry behind and the next logon fails differently.
- Confirm what is actually redirected before you assume a rebuild is cheap. If Documents and Desktop are redirected, a rebuild costs the user their settings but not their files; if nothing is, it costs them everything.
Reducing how often this happens
Two changes make temporary profiles rare rather than routine. The first is folder redirection, which moves the large, user-owned folders out of the roaming profile entirely; redirected data is not part of the roaming profile and is synchronised in the background with Offline Files after logon, so a slow or briefly unavailable share stops being a logon-blocking event. The second is keeping the profile itself small, so the copy at logon and logoff is short enough that a transient share problem does not interrupt it.
Neither removes the ProfileList mechanism, and neither is a substitute for fixing a share whose permissions are wrong. They shrink the window in which a failure can happen, which on a busy Session Host is most of the benefit.
When a licence is the actual fix
There is nothing to buy to repair today’s temporary profile: it is a registry key, some share permissions and possibly an antivirus exclusion. The purchase question is about the platform. Session Hosts on a Windows Server release that no longer receives updates stop getting fixes to the profile service, and mixed builds across a collection guarantee profile-suffix churn. Standardising the collection on Windows Server 2025 Standard removes both, and it is also the point at which to check your RDS CAL version still covers the hosts, because a CAL only reaches a session host of its own version or older. Repair the profile first, then decide about the platform on its own merits.
Every code this article covers
| Code | What it points at | Source |
|---|---|---|
Event ID 1511 |
Not published by Microsoft. It accompanies a logon in which the real profile could not be loaded and a temporary one was used instead | not published by the vendor |
Event ID 1515 |
Not published by Microsoft. It appears with the same class of failure, where the previous profile was kept rather than discarded | not published by the vendor |
Event ID 1530 |
Windows detected your registry file is still in use by other applications or services. Microsoft states this one can safely be ignored | Microsoft Learn |
Event ID 1533 |
Not published by Microsoft. It appears where a profile directory could not be removed; read the path in the entry | not published by the vendor |
Event ID 1521 |
Not published by Microsoft. It appears in roaming setups where the profile on the server could not be used; the entry names the path | not published by the vendor |
Event ID 1509 |
Not published by Microsoft. It appears where a file could not be copied between the local and roaming copies; the entry names the file | not published by the vendor |
Confirm the fix worked
- The affected user logs on and finds their own desktop, documents and application settings.
- ProfileList holds a single entry for that SID, with no
.bakcounterpart. RefCountandStatein that entry are 0 after a clean logoff.- The user logs off and on again and the profile loads a second time without intervention.
- No new profile-load failures appear for that account over the following week.
Questions people ask about this
Has the user lost their data?
Almost never. The original profile folder is still on disk or on the share, and only work done inside the temporary session is gone. Repair the ProfileList entry and the real profile returns.
Should I just delete the profile and let it rebuild?
Only as a last resort, and only after copying the folder somewhere safe. A rebuild loses application settings, signatures, stored credentials and anything saved outside redirected folders.
The log says the registry file is still in use. Is that my cause?
Microsoft says that entry can safely be ignored, so no. If the fault keeps returning for the same people, look at what runs in their session at logoff and at that agent’s own logs, not at that event.
Why did everyone break after we rebuilt a host?
Because roaming profile folders carry a version suffix tied to the Windows build. A host on a newer build looks for a suffix that does not exist yet and creates a fresh profile. Keep every host in a collection on the same version.
Do I need to buy anything?
No. Repairing a temporary profile costs nothing. A platform standardisation is a separate decision about how much hand-repair you are prepared to keep doing.
