So you’re staring at REFERENCE_BY_POINTER — stop code 0x18 — and wondering what to actually do about it. Here’s the short version: a driver messed up its reference counting on a kernel object, Windows caught the impossible negative count, and crashed. Your job is to find which driver and either update it or remove it. The stop screen won’t name it (the damage is discovered after the fact), so this is a two-phase job: clear the usual suspects first, then use Driver Verifier to get a name if needed.
This is the practical, do-this-now companion to our deeper REFERENCE_BY_POINTER troubleshooting guide — same goal, tighter focus on action.
Why this happens
- Antivirus or VPN filter drivers. The number-one cause — kernel filters mishandling object reference counts.
- Virtual-device drivers. Virtual audio, virtual cameras, emulators, and virtual disk tools.
- Outdated hardware drivers. Old network, storage, or peripheral drivers on new Windows 11 builds.
- Corrupted driver installs. Mixed-version driver files misbehaving in object management.
- Conflicting drivers. Two drivers managing the same device, double-releasing objects.
- Faulty RAM. Corrupting reference counts in memory, mimicking driver bugs.
- System file corruption. Damage to the kernel’s object manager itself.
How to fix it
Work through these in order — diagnose first, then act.
Fix 1: Strip out security and VPN filter drivers
The highest-probability move — do it before anything clever.
- Uninstall your third-party antivirus using the vendor’s complete removal tool.
- Uninstall VPN clients and firewall utilities the same way.
- Restart and run on Microsoft Defender for a few days of normal use.
- If the crashes stop, you’ve found the category — reinstall only the latest version of what you actually need.
- Don’t stack security products; pick one real-time protector.
Fix 2: Update the core driver set
Refresh the drivers most likely to contain the bug.
- From your laptop maker’s support page, install the latest chipset, network, storage, and graphics drivers.
- Clean-install the GPU driver from NVIDIA or AMD .
- On Intel systems, run the Intel Driver & Support Assistant for chipset and wireless updates.
- Remove any third-party “driver updater” — a frequent source of the mismatched drivers behind 0x18.
- Test for a few days before declaring victory; reference-count bugs can be intermittent.
If your crashes followed a Windows update, the dedicated guide is how to fix REFERENCE_BY_POINTER BSOD after a Windows 11 update .
Fix 3: Use Driver Verifier to name the driver
Stop guessing — get the name.
- Create a system restore point first.
- Run
verifier, choose Create custom settings, enable Special pool, Pool tracking, Force IRQL checking. - Select driver names from a list → sort by Provider → check all non-Microsoft drivers → Finish → restart.
- Use the PC normally until it crashes — Verifier will name the driver in the new stop screen.
- In Safe Mode, run
verifier /resetto disable it, then update or uninstall the named driver.
The 24H2-specific variant is covered in how to fix REFERENCE_BY_POINTER BSOD in Windows 11 24H2 .
Fix 4: Remove virtual-device and utility software
Clear the second tier of usual suspects.
- Uninstall virtual audio cables, virtual cameras, virtual drives, and emulators.
- Remove RGB control, fan control, and “optimizer” utilities that install kernel drivers.
- Disconnect unneeded USB devices and their companion software during testing.
- Reinstall essentials one at a time, newest versions only.
- If a specific peripheral’s software correlates with crashes, check the vendor for a driver update before reinstalling.
Fix 5: Check your memory
Rule out hardware mimicking a driver bug.
- Run
mdsched.exe→ Restart now and check for problems. - Verify results in Event Viewer > Windows Logs > System > MemoryDiagnostics-Results.
- Overnight MemTest86 for intermittent faults.
- BIOS Optimized Defaults to clear unstable timings.
- Inconsistent blame across crashes + clean Verifier = test RAM before anything else.
Fix 6: Repair Windows’ own files
Fix the object manager underneath the drivers.
- Terminal (Admin):
DISM /Online /Cleanup-Image /RestoreHealth, thensfc /scannow, then restart. - Install all pending Windows updates.
- If a specific KB preceded the crashes, look for a superseding fix in the Microsoft Update Catalog.
- For deep corruption, an in-place upgrade from the Windows 11 download page (keep files and apps).
- Reintroduce third-party drivers one group at a time afterward.
Fix 7: Clean-boot to catch interactions
For crashes that survive everything above.
msconfig→ hide Microsoft services → disable the rest; disable Startup apps; restart.- If stable, re-enable in halves until the crash returns.
- Suspect interactions between two drivers (e.g., antivirus filter + VPN filter) rather than a single culprit — these compound failures are the hardest to find because each driver passes testing alone, and only the combination corrupts the reference counts.
- Keep only the minimal driver set you genuinely need; every kernel driver you remove is one fewer suspect.
- Document what you found — if it recurs after a future update, you’ll know exactly where to look first.
Closing
Fixing REFERENCE_BY_POINTER is a process of narrowing: strip the filter drivers, refresh the core driver set, and let Driver Verifier name whatever’s left standing. It’s tempting to skip to reinstalling Windows, but that’s the one move guaranteed not to help if the same buggy driver comes back with the fresh install — you’d spend hours rebuilding the system only to watch the identical blue screen return on the first boot. The blue screen isn’t telling you Windows is broken — it’s telling you a driver can’t count. Find the driver that can’t count, update it or show it the door, and 0x18 stops appearing.
