PAGE_FAULT_IN_NONPAGED_AREA (stop code 0x00000050) means Windows asked for data at a memory address that wasn’t there. Three things cause that: bad RAM lost it, failing storage can’t supply it, or a driver pointed at the wrong address. Test in that order - MemTest86 for RAM, CrystalDiskInfo plus chkdsk for the drive, then read the minidump to name a bad driver.
By LK Wood IV · 2026-07-13 · ~8 min read · St. Louis County, MO
PAGE_FAULT_IN_NONPAGED_AREA (stop code 0x00000050) has an unusually literal meaning. The “nonpaged area” is memory Windows keeps permanently resident — data too critical to ever swap to disk. This blue screen means Windows went to read something there and the data wasn’t valid. So the whole diagnosis is one question: why was the memory missing? There are only three real answers, and testing them in the right order saves you days.
The address was there a moment ago. Where did it go?
Windows asked for data at a specific memory address and got garbage or nothing. Three things cause that, and they’re not equally likely:
- Bad RAM lost it. A failing or unstable stick corrupts the resident data. Most common.
- Failing storage can’t supply it. The nonpaged area is backed by the drive; a dying SSD or bad sectors can’t serve the data back. Common, especially on boot.
- A driver pointed at the wrong address. A buggy driver references freed or invalid memory. Common when the blue screen names a
.sys.
That ordering is the fix order. The two most likely causes are hardware, so you test memory and storage before you start reinstalling drivers.
Step 1: Test RAM
The nonpaged area lives in physical memory, so a bad stick is the first and most likely suspect.
- MemTest86 from a USB stick, at least one full overnight pass. A single error means a stick or a memory setting is bad.
- Windows Memory Diagnostic (
Windows Key + R→mdsched.exe) is the quick built-in first pass. - Reseat and isolate: power down, reseat both sticks, then test one at a time to find the bad module.
- Rule out the overclock: if you run XMP/EXPO, set memory to default JEDEC speed. An unstable profile corrupts memory exactly like a bad stick while the RAM itself is fine — the same trap covered in kernel security check failure, the other memory-corruption blue screen. Our DDR5 buying guide explains the XMP/EXPO-versus-JEDEC distinction.
Step 2: Check storage health
Because the nonpaged area is backed by the drive, a failing disk is the second suspect — and the leading one when 0x50 hits on boot or when loading large files.
- CrystalDiskInfo reads the drive’s SMART health. Anything reading Caution (reallocated sectors, high error counts) is a warning — back up now.
- Back up before you repair. If SMART already reads Caution, copy your data off before running any repair pass.
/rreads every sector on the drive and can run for hours on a large disk — sustained work you do not want to be the last thing a dying drive ever does, and bad sectors are only recovered “if possible” (Microsoft chkdsk reference). On a healthy-SMART drive it is a routine check. chkdsk /f /rfrom an admin Terminal then scans for and repairs bad sectors (it schedules on the next reboot for the system drive). Do not interrupt it once it starts.- If the drive is also disappearing from Explorer, slowing down, or dropping out, treat it as a storage-health problem and work our SSD not showing up guide.
Step 3: Name the driver from the minidump
If the blue screen printed a .sys in parentheses, or RAM and storage both test clean, read the dump:
- Install BlueScreenView (free, portable) and point it at
C:\Windows\Minidump. - Read the driver it names.
Two names come up constantly for 0x50:
nvlddmkm.sys— the NVIDIA graphics driver. Do a clean reinstall with DDU (Display Driver Uninstaller) in Safe Mode, then a fresh driver.vgk.sys— Riot Vanguard, the Valorant/League anti-cheat that runs at the kernel level. Update or reinstall the game’s anti-cheat; uninstall it to confirm it’s the cause.
Any other .sys names its device — search the filename, then update or roll back that one driver.
Going deeper: what 0x50’s parameters actually say
BlueScreenView names the driver; the bug-check parameters say what that driver did, and for 0x50 they are unusually readable. Per Microsoft’s bug-check 0x50 reference:
| Parameter | Meaning for 0x50 |
|---|---|
| 1 | The memory address that was referenced — the invalid one |
| 2 | Access type: 0 = read, 2 = write, 10 = execute (x64 values) |
| 3 | The instruction address that touched it, when known |
The pattern worth knowing: repeated 0x50 crashes with different parameter-1 addresses each time point at failing RAM or a failing drive scrambling data before it reaches memory — hardware, not the named driver. The same address every time points at one buggy driver dereferencing the same bad pointer — software, exactly the .sys you read in Step 3. To see the parameters, open the dump in WinDbg (free in the Microsoft Store), press Ctrl+D to open the .dmp from C:\Windows\Minidump, and run !analyze -v — the four parameters print at the top of the output.
Step 4: System files and paging file (last)
- Repair system files:
sfc /scannow, thenDISM /Online /Cleanup-Image /RestoreHealth, then reboot — useful after a bad update damaged a system file. - Reset the paging file: rarely the cause, but a corrupt paging file can glitch the nonpaged area. Under System Properties → Advanced → Performance Settings → Advanced → Virtual memory, toggle “Automatically manage” off and on (or set a custom size, then back to system-managed) to rebuild it.
The fix order, in one list
- RAM — MemTest86, one stick at a time, JEDEC to rule out XMP/EXPO.
- Storage — CrystalDiskInfo (SMART), back up if it reads Caution, then
chkdsk /f /r. - Driver — BlueScreenView names the
.sys; DDU fornvlddmkm.sys, reinstall anti-cheat forvgk.sys. - System files / paging file —
sfc+ DISM, rebuild the paging file.
Because 0x50 is invalid-memory-referenced, the two hardware causes lead and the driver work follows a named clue — no reinstalling every driver on a hunch. If this blue screen appears alongside other stop codes or random reboots, the whole-system flow in PC keeps restarting maps each code to its fix.
Sources
- Stop code identity: Microsoft’s Bug Check 0x50 PAGE_FAULT_IN_NONPAGED_AREA — invalid system memory was referenced; the address is wrong or points at freed memory. The RAM-then-storage-then-driver ordering reflects that this is a memory/hardware-integrity bug check, corroborated across Microsoft Q&A, Tom’s Hardware, and Reddit r/techsupport / r/pchelp threads.
- Memory testing: MemTest86 (PassMark) and Windows Memory Diagnostic (
mdsched.exe). Storage: CrystalDiskInfo SMART data andchkdsk /f /r. Minidump reading via BlueScreenView (NirSoft). Driver namesnvlddmkm.sys(NVIDIA) andvgk.sys(Riot Vanguard) are standard, self-verifiable identifications; DDU is the standard clean-reinstall tool for GPU drivers.
These steps track current Windows 11 menus, with Windows 10 equivalents noted where they differ. Found something stale? hello@techfuelhq.com.
Frequently asked questions
What causes PAGE_FAULT_IN_NONPAGED_AREA?
How do I fix Page Fault in Nonpaged Area in Windows 11?
Can bad RAM cause Page Fault in Nonpaged Area?
Does 0x50 mean my SSD or hard drive is failing?
Page Fault in Nonpaged Area names a driver like nvlddmkm.sys or vgk.sys - what do I do?
Page Fault in Nonpaged Area on boot or in a boot loop - how do I fix it?
Evidence ledger
- Last updated
- Methodology
- This guide was written and edited by Lowell K. Wood IV in St. Louis County, MO. Specs and prices verified against vendor and project documentation current on the date above. Full editorial standard: methodology.
- Update log
- 2026-08-14 — Storage step reordered to recovery-first: back up before running chkdsk /f /r on a drive whose SMART reads Caution. Microsoft chkdsk reference confirms /r reads every sector, runs for hours on large disks, and recovers bad-sector data only where possible. Body, FAQ and the step card were brought into agreement in the same pass.
- Corrections
- Spotted an error or a stale number? Email hello@techfuelhq.com. Confirmed corrections are added to the update log above.