How to fix the Reference By Pointer BSOD (0x18) in Windows 10 and 11
Prefer to fix it yourself? The manual steps follow.
- 8methods
- 15 to 60 minutes
- Intermediate
Applies to Windows 11 and Windows 10 PCs that show the stop code REFERENCE_BY_POINTER (0x00000018)
8 methods in this guide
Hey, I get the REFERENCE_BY_POINTER error, a Blue Screen of Death. I don't know how to fix it and have no idea why it occurs. I have received this error a few times already, and it happens out of nowhere. Can you help me solve this issue?
REFERENCE_BY_POINTER, bug check 0x18, means a driver released a Windows kernel object more times than it took it, so Windows stopped the PC. Almost always a third-party driver is behind it, such as security, VPN, audio, graphics or game tools. Find that driver in the crash dump, then update or remove it.
The stop code means a driver broke the count Windows keeps for a kernel object, usually by releasing it one time too many. Open the newest crash dump and look for a third-party driver, then update, roll back or remove it (Fix 1). If the dump names only Windows files, test with a clean boot (Fix 2) and undo recent hardware or updates (Fix 3).
| Error | A blue or black stop screen with Stop code: REFERENCE_BY_POINTER, bug check value 0x00000018. Sometimes a What failed: line names a .sys driver file. |
|---|---|
| Where it appears | At random while you work or play, when a program closes, on shutdown, or during startup in a loop where only Safe Mode works. The PC restarts by itself. |
| Main cause | A kernel driver that lowers an object's reference count too many times. Microsoft names this as the typical cause. Third-party drivers are the usual suspects. |
| Fastest fix | Update, roll back or remove the driver the crash dump points at (Fix 1). |
| Also written as | REFERENCE_BY_POINTER (18), reference by pointer BSOD, stop code reference by pointer, 0x18, 0x00000018, bugcheck 0x18, 0x18_OVER_DEREFERENCE. |
| Affects | Windows 11, Windows 10 and Windows Server. Windows 10 left support on 14 October 2025, so its fixes now come only through Extended Security Updates. |
| Vendor status | Microsoft documents 0x18 for driver developers and says the inconsistency is typically caused by a driver. There is no Windows known issue or patch for it. |
| Where the cause is logged | C:\Windows\Minidump (one .dmp per crash), C:\Windows\MEMORY.DMP and the System log in Event Viewer. |
| Time to fix | 15 to 30 minutes when the dump names a driver. 1 hour or more when you need a clean boot or Driver Verifier to find it. |
Facts checked on 16 October 2026. Steps written for Windows 11 (25H2 and 26H2) and Windows 10 22H2.
What the Reference By Pointer blue screen (0x18) means
Microsoft's bug check reference says that the REFERENCE_BY_POINTER bug check has a value of 0x00000018 and that it indicates the reference count of an object is illegal for the current state of the object. In plain words: Windows keeps a counter for every kernel object, such as a file, a device or a process, and a driver broke that counter.
Each time a driver uses a pointer to an object, it calls a kernel routine that raises the count by one. When it is done, it calls another routine that lowers it by one. The calls must match. If a driver lowers the count once too often, the count reaches zero while handles to the object are still open, or drops below zero, and Windows stops the PC rather than keep going with a broken object.

| What you see | What it is |
|---|---|
| Your device ran into a problem and needs to restart with Stop code: REFERENCE_BY_POINTER | The text on the Windows 11 and Windows 10 stop screen |
0x18, 0x00000018, bugcheck 0x18, REFERENCE_BY_POINTER (18) | The same code as a number, in Event Viewer, Reliability Monitor and WinDbg |
0x18_OVER_DEREFERENCE_nt!ObfDereferenceObjectWithTag | The failure bucket WinDbg prints when a driver released an object too many times |
What failed: followed by a .sys file | The driver that was running when Windows stopped, if Windows could name one |
| Reference by pointer error, reference by pointer crash, refrence by pointer | Typed names of the same stop code |
Microsoft says the screen colour and message of a stop code error vary with the Windows 11 version. On Windows 11 24H2 and later the screen is black, on Windows 11 23H2 and older and on Windows 10 it is blue. The stop code and the fixes are the same.
Why the REFERENCE_BY_POINTER error happens: causes, most common first
Only code running in kernel mode can break a reference count, so a normal app cannot cause 0x18 by itself. The suspects are drivers: the ones that come with hardware, and the hidden ones that security, VPN, backup, virtualization, monitoring and anti-cheat software install.
| How often | Cause | Sign | Fix |
|---|---|---|---|
| Most often | An outdated or faulty third-party hardware driver: graphics, audio interface, network, storage | The dump or the stop screen names a .sys file that is not from Microsoft | Fix 1 |
| Often | Software that installs a kernel driver: antivirus, VPN, firewall, backup, RGB and fan tools, anti-cheat | Crashes began after you installed or updated such a program | Fix 2 |
| Less often | New hardware that does not suit this Windows version, or a fresh Windows or driver update | The first crash came after a new device or an update | Fix 3 |
| Less often | A driver that hides: the dump names only ntoskrnl.exe or ntkrnlmp.exe | Repeat crashes and no third-party file in the dump | Fix 4 |
| Rarely | Damaged Windows system files | SFC finds errors, or the crashes started after a failed update | Fix 6 |
| Rarely | Faulty RAM or an unstable overclock | Stop codes change from crash to crash | Fix 7 |
Find the driver behind 0x18 in the crash dump
Microsoft's advice for 0x18 starts with the debugger: the !analyze command shows information about the bug check that helps find the root cause. You need no developer skills for the first look. It takes about ten minutes if the PC still starts.
- Open File Explorer and go to
C:\Windows\Minidump. Each.dmpfile is one crash, named by its date. - Install Microsoft's debugger: open Terminal and run
winget install Microsoft.WinDbg. - Start WinDbg as administrator, select File > Open dump file and open the newest
.dmpfile. - Type
!analyze -vin the command box and press Enter. - Write down the lines IMAGE_NAME, MODULE_NAME, PROCESS_NAME and FAILURE_BUCKET_ID.
If IMAGE_NAME is a third-party .sys file, that driver is your first suspect: go to Fix 1. If it says ntkrnlmp.exe or ntoskrnl.exe, Windows only caught the damage. A Microsoft support engineer explained in such a case that the crash occurs when Windows detects the corruption, not where it was introduced, so the faulty driver is not visible in the dump. Go to Fix 2, then Fix 4.
No debugger? Microsoft also suggests the System log in Event Viewer. Press Win + X, select Event Viewer, open Windows Logs > System and look at the errors just before the crash time. A driver or device that fails there again and again is a good lead.
How to fix the Reference By Pointer blue screen in Windows
Start with Fix 1 if the dump names a driver. Fix 2 and Fix 3 find the cause when it does not. Fix 4 unmasks a hidden driver. Fix 5 is for a PC that no longer starts. Fixes 6 to 8 are general repairs, in order of cost.
| What you see | Start with | Then |
|---|---|---|
The dump or the stop screen names a third-party .sys file | Fix 1 | Fix 2 |
| Crashes began after new software, a VPN, antivirus or game tool | Fix 2 | Fix 1 |
| Crashes began after new hardware or a Windows update | Fix 3 | Fix 1 |
The dump names only ntoskrnl.exe or ntkrnlmp.exe | Fix 2 | Fix 4 |
| The PC crashes on every start or only Safe Mode works | Fix 5 | Fix 1 |
| Stop codes change from crash to crash | Fix 7 | Fix 6 |
Fix 1. Update, roll back or remove the driver the crash points at
15 minutesLow riskThe dump, Event Viewer or the stop screen names a driver that is not part of Windows, or crashes began after a driver update.
Microsoft says 0x18 is typically caused by a driver that lowers an object's reference count too many times, and advises updating or disabling a driver named in the bug check. A newer version often has the matching calls fixed; an older one avoids a new bug.

- Search the web for the
.sysfile name to learn which device or program it belongs to. - Right-click Start and select Device Manager. Look for devices with a yellow exclamation mark first, as Microsoft's stop code checklist advises.
- Expand the category of the device, such as Display adapters or Sound, video and game controllers, right-click it and select Properties.
- On the Driver tab, select Roll Back Driver if the crashes began after a driver update.
- Otherwise download the newest driver for your exact model from the device or PC maker's site and install it.
- If the file belongs to a program rather than a device, update that program or uninstall it for a test: Uninstall a program or app in Windows
- Restart and use the PC as usual. Step by step with screenshots: Update, roll back or reinstall a driver

It worked if: The Driver tab shows the new or older version, no new file appears in C:\Windows\Minidump, and the PC runs for several days without the stop code.
If not: If the dump names no third-party driver, or the crash returns, test with a clean boot in Fix 2.
Fix 2. Find the program behind it with a clean boot
30 minutes plus a few days of useLow riskCrashes began after you installed security, VPN, backup, tuning or game software, or the dump names only Windows files.
Many programs load their own kernel drivers through services. A clean boot starts Windows with only Microsoft services, so if 0x18 stops, one of the disabled services is the cause.
- Press Win + R, type
msconfigand press Enter. - On the Services tab, tick Hide all Microsoft services, then select Disable all.
- On the Startup tab, select Open Task Manager and disable every startup app.
- Select OK in System Configuration and restart.
- If the PC is stable, turn the services back on a few at a time until the crash returns. The last group holds the cause. Full method: How to perform a clean boot in Windows


If the cause is your antivirus or firewall, do not leave the PC without protection. Update it, or replace it, and make sure Microsoft Defender or another antivirus is on before you go online again.
It worked if: With the clean boot the PC runs for days without 0x18, and turning on one group of services brings it back, which names the program.
If not: If crashes continue even in a clean boot, check new hardware and updates in Fix 3.
Fix 3. Remove new hardware and undo the latest update
15 minutesLow riskThe first crash came soon after you added a device or after a Windows or driver update.
Microsoft's 0x18 page says to confirm that new hardware is compatible with your Windows version. A new device brings a new driver, and an update can replace a driver that used to work.
- Shut down the PC, disconnect the device you added last, such as a dock, audio interface, capture card or USB adapter, and start again.
- Open Settings > Windows Update > Update history (on Windows 10: Settings > Update & Security > Windows Update > View update history).
- Compare the date of the newest quality or driver update with the date of the first crash.
- If they match, select Uninstall updates and remove it. Step by step: How to uninstall a Windows update
- Pause updates for a week so it does not return until a fixed version arrives.

It worked if: The PC runs without the device or the update and no new crash appears. Then reconnect the device with the newest driver from its maker.
If not: If nothing changed and the dump still names only Windows files, use Driver Verifier in Fix 4.
Fix 4. Unmask a hidden driver with Driver Verifier
30 minutes plus waiting for a crashRead the warningCrashes keep coming, the dump names only ntkrnlmp.exe or ntoskrnl.exe, and Fixes 1 to 3 found nothing.
Driver Verifier watches drivers closely and stops the PC at the moment a driver does something wrong. Microsoft's support engineers recommend it for 0x18 so that the next dump names the faulty driver instead of the Windows kernel.
Driver Verifier causes more blue screens on purpose and can stop Windows from starting. Create a restore point and save your work first: Undo recent changes with System Restore. If Windows no longer starts, open Safe Mode (Start Windows or a Mac in Safe Mode) and run verifier /reset in an administrator Command Prompt.
- Press Win + R, type
sysdm.cpland press Enter. Open Advanced > Startup and Recovery > Settings and set Write debugging information to Kernel memory dump. - Open Terminal (Admin) and run
verifier. - Select Create standard settings, then Select driver names from a list.
- Tick all drivers whose provider is not Microsoft Corporation, select Finish and restart.
- Use the PC as usual until it crashes, then read the new dump as in the section above.
- Turn Driver Verifier off when you are done: run
verifier /resetand restart.
In Terminal (Admin), to turn Driver Verifier off:
verifier /reset
It worked if: The next crash dump names a third-party driver as IMAGE_NAME instead of the Windows kernel.
If not: Update or remove the driver it names as in Fix 1. If no crash comes within a few days, turn Verifier off and continue with Fix 6.
Fix 5. Repair Windows from the recovery environment when it will not start
30 minutesRead the warningThe stop code appears during every startup, or only Safe Mode works.
When the faulty driver loads at startup, Windows crashes before you can remove it. Safe Mode loads only basic drivers, and the recovery environment can undo changes from outside Windows.
Safe Mode and Startup Repair change nothing in your files. System Restore removes apps and drivers installed after the restore point. Have your BitLocker recovery key ready, because the recovery environment can ask for it.
- Turn the PC on and, when the logo appears, hold the power button until it shuts down. Do this twice; the third start opens Automatic Repair.
- Select Advanced options > Troubleshoot > Advanced options > Startup Settings > Restart, then press 4 for Safe Mode: Start Windows or a Mac in Safe Mode
- In Safe Mode, roll back or uninstall the driver or program from Fix 1 and Fix 2, then restart normally.
- If Safe Mode does not open either, run Startup Repair from the same menu: Run Startup Repair
- If that fails, use Uninstall Updates or System Restore with a point from before the first crash: Undo recent changes with System Restore

It worked if: Windows reaches the desktop in normal mode and stays up without the stop code.
If not: If Windows starts now, continue with Fix 6. If it still loops, go to Fix 8.
Fix 6. Repair damaged Windows system files with DISM and SFC
20 minutesNo riskNo third-party driver was found, an update failed, or SFC has never run on this PC.
0x18 rarely comes from Windows itself, but a damaged kernel or driver file can act like a buggy driver. This repair rules it out at no cost.
DISM fetches clean copies of Windows components first, then SFC replaces damaged system files with them. Step by step with screenshots: Run DISM and SFC to repair Windows system files
In Terminal (Admin), one after the other:
DISM.exe /Online /Cleanup-Image /RestoreHealth
sfc /scannow
It worked if: SFC reports that it found no integrity violations or that it repaired them, and the next days pass without the stop code.
If not: If SFC cannot repair some files, or the crash returns, check the hardware in Fix 7.
Fix 7. Rule out faulty memory and overclocking
60 minutes or moreLow riskStop codes change from crash to crash, or nothing above helped.
Microsoft treats 0x18 as a driver bug, so hardware is a rare cause. Still, bad RAM can corrupt any kernel object, including its reference count, and then any driver looks guilty.
- Reset every CPU and GPU overclock to default, and turn off the memory profile (XMP or EXPO) in the BIOS for the test.
- Test the RAM with the tool built into Windows: How to test your RAM with Windows Memory Diagnostic
- Check the system disk for errors: Check a disk for errors (chkdsk)
- Keep 10 to 15 % of the system disk free, as Microsoft's stop code checklist advises.
- Update the BIOS and chipset driver from your PC or motherboard maker's support page.
It worked if: The memory test reports no errors and the PC runs for days at default clocks without a stop code.
If not: If the memory test reports errors, replace or reseat the RAM. If the hardware is clean, go to Fix 8.
Fix 8. Reinstall Windows and keep your files
60 minutes or moreRead the warningEvery fix above failed and the crashes continue.
A reinstall replaces the whole driver store and removes every third-party driver at once, including one that no dump could name. Your personal files stay.
Reset PC with Keep my files keeps documents, pictures and the desktop, but removes the apps you installed. Back up your files to an external drive or cloud storage before you start: Back up your files (Windows Backup, File History, Time Machine)
- Back up your files and note the apps you will need again.
- Open Settings > System > Recovery (on Windows 10: Settings > Update & Security > Recovery).
- On Windows 11, select Reinstall now under Fix problems using Windows Update if your version shows it, for a repair that keeps files and apps.
- If that is missing or did not help, select Reset PC, then Keep my files and Cloud download.
- Afterwards, install drivers from the device makers first, then your apps one at a time. Full method: Reinstall Windows without losing files

It worked if: Windows starts fresh, and the stop code does not return as you add drivers and apps one by one.
If not: If 0x18 returns on a clean Windows before any app or extra driver is installed, the cause is hardware. Contact your PC maker or a repair shop.
Still crashing: what to collect and whom to ask
Microsoft's page says the driver must match its reference and dereference calls, which only the driver's maker can fix. So the report goes to the maker of the driver the dump names. Collect the facts once.
- The three newest
.dmpfiles fromC:\Windows\Minidump, andC:\Windows\MEMORY.DMPif Driver Verifier made one. - The IMAGE_NAME, MODULE_NAME and FAILURE_BUCKET_ID lines from
!analyze -v. - Your Windows edition and build from Settings > System > About.
- The versions of the drivers and security tools you suspect.
- What you were doing at each crash: a game, a VPN connection, a backup, shutdown.
| Where to report | When |
|---|---|
| The maker of the driver in IMAGE_NAME | The dump or Driver Verifier names a third-party driver |
| Your antivirus, VPN or tool vendor's support | The clean boot pointed at their service |
| Microsoft Q&A | Only Windows files appear, even with Driver Verifier on |
| Your PC maker or a repair shop | Memory test errors, or crashes on a clean reinstall |
How to keep the Reference By Pointer BSOD from coming back
- Install drivers from the device or PC maker, and keep the previous version's installer.
- Keep one antivirus only; two real-time scanners both load kernel drivers.
- Update VPN, backup and anti-cheat software before a big Windows update.
- Create a restore point before you install drivers or system tools.
- Use driver packs or driver updater tools from unknown sites.
- Leave Driver Verifier on after the test.
- Keep an overclock that never passed a stability test.
- Ignore the first crash: save its dump while it is still there.
Windows 10 left support on 14 October 2025. A PC that stays on Windows 10 gets kernel fixes only through Extended Security Updates, and hardware makers are slowly stopping driver updates for it.
Frequently asked questions
What does reference by pointer mean?
It means a driver broke the counter Windows keeps for a kernel object. Every time a driver uses a pointer to an object, the count goes up by one, and when it is done, the count goes down by one. When a driver lowers it one time too many, the count reaches zero while the object is still open, or drops below zero. Windows then stops with bug check 0x18 to protect itself and your data.
What is stop code 0x18 or 0x00000018?
0x18 is the number of the REFERENCE_BY_POINTER bug check, and 0x00000018 is the same value written with eight digits. The stop screen shows the name, while Event Viewer, Reliability Monitor and WinDbg often show the number, sometimes as REFERENCE_BY_POINTER (18). They are the same problem with the same fixes. If WinDbg prints 0x18_OVER_DEREFERENCE, a driver released an object too many times.
Is the Reference By Pointer BSOD a hardware problem?
Usually not. Microsoft describes 0x18 as a driver bug: a driver makes extra calls that release an object. Hardware matters only indirectly, when a new device brings a faulty driver, or in rare cases when bad RAM corrupts memory. If the stop code changes from crash to crash, test the memory as in Fix 7. If it is always REFERENCE_BY_POINTER, look for a driver first.
Why does the dump blame ntoskrnl.exe?
Because the Windows kernel is where the broken count was noticed, not where it was broken. The kernel file ntoskrnl.exe, or ntkrnlmp.exe on most PCs, runs the routine that lowers the count, so it is on top of every 0x18 crash. A Microsoft support engineer explained that the faulty driver is then not visible in the dump. Driver Verifier in Fix 4 catches the driver at the moment it makes the mistake.
Can antivirus or VPN software cause REFERENCE_BY_POINTER?
Yes, they are common suspects, because they install kernel drivers that filter files and network traffic. A bug in such a driver can release an object too often. If the crashes began after you installed or updated security or VPN software, update it first, then test with a clean boot as in Fix 2. Do not leave the PC without protection: check that Microsoft Defender is on after you remove another antivirus.
Is the reference by pointer error different on Windows 10 and Windows 11?
The code, its meaning and its fixes are the same on Windows 10 and Windows 11. What differs is the screen: on Windows 11 24H2 and later the stop screen is black instead of blue. Some settings paths also differ, and this guide gives both. Windows 10 left support on 14 October 2025, so a Windows 10 PC gets fewer driver updates, which can make an old driver bug last longer.
My PC crashes with REFERENCE_BY_POINTER on startup. What now?
A crash before the desktop means a driver that loads at startup is at fault. Let Windows open Automatic Repair by interrupting the start twice, then go to Startup Settings and start in Safe Mode, which loads only basic drivers. From there, roll back or remove the suspect driver or program. If Safe Mode fails too, use Startup Repair, Uninstall Updates or System Restore, as Fix 5 explains.
Is REFERENCE_BY_POINTER a sign of a virus?
Not usually. The stop code comes from Windows when a driver breaks a reference count, and almost always the driver is a normal, signed one with a bug. Malware that loads its own kernel driver could in theory cause it, but nothing ties 0x18 to malware in particular. If you also see unknown programs, pop-ups or a disabled antivirus, run a full Microsoft Defender scan: How to scan for malware with Microsoft Defender
Can I just ignore a single reference by pointer crash?
One crash with no repeat can be left alone. Microsoft says that in most cases the restart solves the problem and no further action is needed. Still, copy the newest file from C:\Windows\Minidump while it is there, because it names the driver if the crash returns. When the same stop code comes back, follow the fixes on this page, starting with the driver the dump names.
I don't speak English. What should I do about this screen?
This page is about the stop code REFERENCE_BY_POINTER (0x18) in Windows, also asked as "как это исправить", "jak naprawić ten błąd" or "máy bị gì". In short: update or remove the driver the crash dump names, test with a clean boot, and undo new hardware or the latest update. If the PC does not start, use Safe Mode. A browser translation of this page shows every step in your language.
Sources
- Microsoft Learn: Bug Check 0x18 REFERENCE_BY_POINTER (learn.microsoft.com)
- Microsoft Support: Troubleshooting Windows unexpected restarts and stop code errors (support.microsoft.com)
- Microsoft Q&A: What does this bugcheck mean? (REFERENCE_BY_POINTER dump analysis) (learn.microsoft.com)
Did this fix work?
One click, no account. It tells the next reader which guides are worth their time.
Questions and experiences: fix the Reference By Pointer BSOD (0x18) in Windows 10 and 11
Still broken, or found a fix we did not cover? Ask here: members and our editors answer. Reading is open; writing needs a free account.
…