Fix PEERDIST_ERROR_ALREADY_INITIALIZED (0x00000FD7) Error
This error pops up when a program tries to initialize Peer Distribution twice. It's a Windows API conflict, not hardware or driver trouble.
What Triggers This Error
You'll see this error code when an application tries to start the Peer Distribution service a second time without shutting it down first. This happens most often during Windows Update when Delivery Optimization uses Peer Distribution, then a separate program (like a game launcher or media server) tries to use it again. The exact message reads: "The supplied object has already been initialized." More commonly, you'll see it as a log entry in Event Viewer under Application or System, with source PeerDist.
It's not a dangerous error. It doesn't mean your PC is damaged. It just means something in the code forgot to check if Peer Distribution was already running. But it can stall updates or make some apps crash silently. Here's how to fix it, from the fastest to the most thorough.
Fix 1: Restart the Peer Distribution Service (30 seconds)
This is the single most common fix. You're telling Windows to reset the service that's holding the lock.
- Press Win + R, type
services.msc, hit Enter. Services window opens. - Scroll down to Peer Distribution Service (or PeerDistSvc).
- Right-click it, choose Stop. Wait 3 seconds. The Status column should clear.
- Right-click again, choose Start. After a second, the Status column shows Running.
- Close Services. Try your update or app again. If the error's gone, you're done. If not, move to Fix 2.
What to expect: After restarting, the error should stop immediately for that session. But if the same app triggers it again later, you'll need Fix 3 to break the cycle.
Fix 2: Disable Peer Distribution via Group Policy (5 minutes)
If restarting didn't work—or the error keeps coming back—you can simply turn off the Peer Distribution feature. Windows Update will still work; it'll just download from Microsoft servers instead of sharing with other PCs on your network.
This only works on Windows 10/11 Pro, Enterprise, or Education. If you've got Windows Home, skip to Fix 3.
- Press Win + R, type
gpedit.msc, hit Enter. - Navigate to:
Computer Configuration > Administrative Templates > Network > Peer Distribution. - Double-click Enable Peer Distribution on the right side.
- Set it to Disabled. Click Apply, then OK.
- Close Group Policy Editor. Open a Command Prompt as admin (right-click Start, choose Terminal (Admin)).
- Type
gpupdate /force, hit Enter. Wait for the update to complete (about 10 seconds). - Reboot your PC. After restart, the error should be gone.
What to expect: Disabling this policy stops Peer Distribution entirely. You won't see the error again, but you also won't get the benefit of faster downloads from local peers. For most people, that's a fair trade.
Fix 3: Reset Windows Update and Peer Distribution Components (15+ minutes)
This is the nuclear option. It wipes the slate clean for all Windows Update and Peer Distribution components, then rebuilds them. Use this if Fix 1 and Fix 2 didn't help, or if you're on Windows Home where Group Policy is unavailable.
Note: This will clear your Windows Update cache. You'll have to re-download any pending updates from scratch. Write down any update KB numbers you need if you're keeping them for offline install.
- Open Command Prompt as admin (right-click Start, choose Terminal (Admin)).
- Stop the services that handle updates and peer sharing. Type these commands one at a time, pressing Enter after each:
net stop wuauserv
net stop cryptSvc
net stop bits
net stop msiserver
net stop PeerDistSvc
After each, you'll see "The service was stopped successfully." If any say "not started," that's fine—move on. - Reset the Windows Update catalog folder. Type:
ren C:\Windows\SoftwareDistribution SoftwareDistribution.old
This renames the folder, so Windows builds a fresh one next time it starts. - Reset the certificate store. Type:
ren C:\Windows\System32\catroot2 catroot2.old - Re-register the Peer Distribution DLL. Type:
regsvr32 /s p2p.dll
You won't get a confirmation message—that's normal. - Restart the services you stopped earlier. Type these commands:
net start wuauserv
net start cryptSvc
net start bits
net start msiserver
net start PeerDistSvc
Each should say "The service started successfully." IfPeerDistSvcfails, check its dependencies (runsc qc PeerDistSvcto see them). Usually it needs DNS Client and Remote Procedure Call (RPC)—both should already be running. - Close Command Prompt. Restart your PC. After reboot, open Windows Update and manually check for updates (Settings > Update & Security > Check for updates). Let it run for 5 minutes to rebuild the cache.
What to expect: This fix removes the old initialization state that caused the error. The fresh SoftwareDistribution folder has no stale locks. You might see a brief 100% disk usage spike while Windows rebuilds its update database—that's normal. Give it 10 minutes to settle.
Why This Error Happens (and Skip This If You're Short on Time)
The Peer Distribution service uses a shared memory object to coordinate downloads across apps. When an app calls PeerDistStartup with the same parameters twice, the API returns 0x00000FD7. It's a design limitation of the Peer Distribution API itself—it wasn't built for concurrency. Some third-party apps (like certain game clients that pre-load updates) don't handle the PEERDIST_ALREADY_INITIALIZED return code gracefully, so they just log the error and hang.
The fixes above work on Windows 10 1809 and later, and on Windows 11 all versions. If you're on an older build (like Windows 8.1), you'll need to search for p2p.dll re-registration steps specific to that OS—but honestly, upgrading is safer.
Still Getting the Error?
If none of these three fixes work, you've got a deeper corruption. Run the System File Checker: sfc /scannow from Command Prompt as admin. If that finds issues but can't fix them, run DISM /Online /Cleanup-Image /RestoreHealth. Either of those will take 20 minutes. After that, repeat Fix 3.
If the error persists after all that, it's almost certainly a bug in the specific app you're running—not in Windows. Contact the app's support team with a screenshot of the error and the Event Viewer log ID (it will show PeerDist as the source). They'll need to fix their code to not double-initialize.
Was this solution helpful?