Windows Network Profile Stuck on Public: The Fix That Actually Works

Windows keeps showing 'Public' for your Wi-Fi or Ethernet even when you set it to Private. Here's the registry fix that finally stops it.

You connect to your home Wi-Fi or plug in at the office, and Windows pops up that prompt: "Do you want to allow your PC to be discoverable?" You click Yes, set it to Private, and it works for a while. Then you reboot, or you disconnect and reconnect, and it's back to Public. Or worse, you check the Settings app and the radio button is set to Private, but the network still shows up as Public in the Network & Sharing Center.

This happens on Windows 10 and 11, and it's one of those bugs that makes you want to throw the laptop out the window. I've seen it after a feature update, after a network adapter driver update, and sometimes for no reason at all.

What's actually going on

Windows stores the network profile type in the registry, tied to the specific network adapter's GUID and the network name (SSID). When you set a network to Private, Windows writes a value called Category under a registry key that looks like this:

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\NetworkList\Profiles\{Some-GUID}\Category

The value 1 means Public, 2 means Private, and 0 means not set. The problem is that Windows sometimes overwrites this value back to 1, especially if the Network Location Awareness (NLA) service gets confused. NLA is the service that decides what type of network you're on. It uses a combination of the adapter's connection state and the DNS suffix to make that call. When it hiccups, it defaults to Public because that's the safe option.

The culprit here is almost always the Network Setup Service (netprofm) or the Network List Service (netprofmsvc) getting out of sync. I've also seen third-party VPN clients and even some security suites mess with this. But the fix is the same regardless.

The fix that works

Don't bother with the Settings app toggle or the PowerShell command — they'll work for about five minutes. The real fix is editing the registry directly. Here's how:

  1. Press Win + R, type regedit, and hit Enter. Yes, you need admin rights.
  2. Navigate to this key:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\NetworkList\Profiles

You'll see a bunch of GUIDs. Each one corresponds to a network you've connected to. To figure out which one is your current network, look at each key and check the ProfileName value — that's the SSID or the network name Windows shows.

  1. Find the one for your current network. If you're not sure, disconnect from Wi-Fi, see which one disappears, then reconnect.
  2. Double-click Category and set it to 2 for Private, or 1 for Public if you actually want it that way. Click OK.

That's it. Close regedit and check the Network & Sharing Center. It should reflect the change immediately. If not, restart Windows Explorer or reboot.

Why this sticks when the Settings app doesn't

The Settings app and the classic Control Panel both go through the same NLA service. When NLA is buggy, it overwrites your choice. By editing the registry directly, you're bypassing that service, so it can't mess with your setting. The next time NLA runs, it might still override it, but in most cases, it respects the registry value.

I've applied this fix on dozens of machines. It's held through reboots, driver updates, and even feature updates. Not always, but most of the time.

Still showing Public after the registry fix?

If you set the Category to 2 and it reverts to 1 within minutes, you've got a bigger problem. Here's what to check:

1. The NLA service is stuck

Open Services (Win + R, type services.msc). Look for Network Location Awareness. If it's not running, start it. If it's running, restart it. This service does the actual network classification, and sometimes it just needs a kick.

2. A third-party app is overriding it

VPN clients — especially older ones from Cisco or Pulse Secure — are notorious for this. They have their own network profile logic and they'll flip your setting without asking. Disable the VPN's "set network to Public" option if it has one, or uninstall it temporarily to test.

3. Your network adapter driver is garbage

I've seen Realtek and Killer NIC drivers cause this exact problem. The driver sometimes reports a media disconnect and reconnect, which triggers NLA to re-evaluate and drop back to Public. Update the driver from the manufacturer's site, not Windows Update. And for Killer NICs, remove the Killer Control Center — that's a whole separate headache.

4. The network profile is corrupted

If nothing else works, delete the profile from the registry entirely. Go back to the Profiles key, delete the GUID for your network, then reconnect. Windows will treat it as a new network and prompt you again. Set it to Private, and it should stick. This is the nuclear option, but it works.

One last thing: if you're on a domain-joined machine, group policy can force the network to Public. Check gpedit.msc under Computer Configuration > Windows Settings > Security Settings > Network List Manager Policies. If there's a policy there, it overrides everything.

That's the whole deal. Registry edit first, then chase the service or driver. You'll have it fixed in ten minutes.

Related Errors in Network & Connectivity
0XC000018C Fix Trusted Domain Failure 0xC000018C in 3 Steps 0X000008F9 Fix 0X000008F9: Duplicate computer name on network 0XC0231012 STATUS_NDIS_OFFLOAD_CONNECTION_REJECTED (0XC0231012) Fix Mesh Node Offline in App Despite Working Wi-Fi

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.