How to Fix Code 31 Errors

A troubleshooting guide for Code 31 errors in Device Manager

The Code 31 error is one of several Device Manager error codes. It's caused by any number of reasons that prevent Windows from loading the driver for the particular hardware device. Regardless of the root cause, troubleshooting an error Code 31 is pretty straightforward.

If you see the Code 31 error on the Microsoft ISATAP adapter in Windows Vista, you can ignore the error. According to Microsoft, there is no actual error.

The Code 31 error will almost always display in the following way:

This device is not working properly because Windows cannot load the drivers required for this device. (Code 31)

Your screen might look like this:

Code 31 error on Windows 10 desktop
Lifewire / Tim Fisher

Details on Device Manager error codes like Code 31 are available in the Device Status area in the device's properties.

Device Manager error codes are exclusive to Device Manager. If you see the Code 31 error elsewhere in Windows, chances are it's a system error code which you should not troubleshoot as a Device Manager problem.

The Code 31 error could apply to any hardware device in Device Manager, but most Code 31 errors appear on optical drives like CD and DVD drives.

Any of Microsoft's operating systems could experience a Code 31 Device Manager error including Windows 10, Windows 8, Windows 7, Windows Vista, Windows XP, and more.

How to Fix a Code 31 Error

  1. Restart your computer if you haven't done so already. The Code 31 error could source from a temporary memory glitch.

  2. Did you install a device or make a change in Device Manager just before the Code 31 error appeared? If so, it's possible that the change you made caused the Code 31 error.

    Undo the change if you can, restart your PC, and then check again for the Code 31 error.

  3. Roll back the driver to a version prior to your updates.

  4. Use System Restore to undo recent Device Manager-related changes.

  5. Delete the UpperFilters and LowerFilters registry values. A common cause of Code 31 errors is the corruption of two registry values in the DVD/CD-ROM Drive Class registry key.

    Deleting similar values in the Windows Registry could also be the solution to a Code 31 error that appears on a device other than a DVD or CD drive. The UpperFilters/LowerFilters tutorial linked above will show you exactly what you need to do.

    Some people have had luck deleting the entire key that holds the UpperFilters and LowerFilters values. If deleting the specific values doesn't fix the Code 31 error, try backing up the registry key you identify in that tutorial above, and then delete the registry key, reboot, restore the registry key from the backup, and reboot again.

  6. Update the drivers for the device. Installing the latest manufacturer supplied drivers for a device with the Code 31 error is a likely fix for this problem.

  7. Reinstall the Microsoft ISATAP network adapter if the Code 31 error is related to the MS ISATAP adapter not working properly.

    Open Device Manager and access the Action > Add legacy hardware screen. Start the wizard and select Install the hardware that I manually select from a list (Advanced). Click through the steps and choose Network adapters > Microsoft > Microsoft ISATAP Adapter from the list.

  8. Replace the hardware. As a last resort, you might need to replace the hardware that has the Code 31 error.

    It's also possible that the device is not compatible with this version of Windows. Check the Windows Hardware Compatibility List to be sure.

    If you're convinced that hardware isn't the cause of this particular Code 31 error, you could try to automatically repair Windows problems. If that doesn't work, try a clean install of Windows. We don't recommend doing either of those before you try replacing the hardware, but you may have to give them a shot if you're out of other options.

Need More Help?

If you're not interested in fixing this Code 31 problem yourself, there are more options available to fix your computer, plus help with everything along the way like figuring out repair costs, getting your files off, choosing a repair service, and a whole lot more.

  • How do I fix Windows code 28 errors?

    To fix code 28 errors, which usually means there's a missing driver, try restarting the computer. If you recently installed a device or made a change to Device Manager, undo the change. You may need to remove or reconfigure the new device or update its drivers.

  • How do I fix Windows error code 0xc000000d?

    This error code means you need to repair your PC because the Boot Configuration Data (BCD) file has a problem. Try running the Automatic Startup Repair tool. Or, go to the command prompt and enter bootrec /rebuildbcd to rebuild the BCD file.

  • How do I fix Windows error code 0xc0000001?

    To fix Windows error code 0xc0000001, remove and reconnect all peripherals to see if you can isolate the problem. Ensure your RAM, PCI card, CPU, and hard drive are all correctly installed. You can also try recovering an earlier system state or reinstalling your operating system.

Was this page helpful?