ERROR_LISTBOX_ID_NOT_FOUND (0X00000588) Fix for Legacy Apps
This error pops up when an old or buggy app tries to reference a list box control that doesn't exist in your Windows dialog. Here's why and how to fix it.
I've seen this one pop up most often when someone runs a really old business app—like a VB6 inventory tool or a custom Access front-end—on Windows 10 or 11. You click a dropdown or a list, and bam: ERROR_LISTBOX_ID_NOT_FOUND (0X00000588). The dialog freezes, the app might crash, and you're left wondering what just happened.
What causes this error?
The error code 0x00000588 translates to "list box identifier was not found." In plain English: your program tried to talk to a list box control (the kind you see in a dropdown or a multi-select list) using an ID number the dialog doesn't have. Think of it like calling a friend's house but ringing the wrong doorbell. The dialog window has a set of controls—buttons, text boxes, list boxes—each with a unique ID. The program sends a message to ID 123, but nobody's home. The result? This error.
Most commonly, this happens because the app was compiled expecting a specific Windows control layout that no longer exists in newer Windows versions. Windows 10 and 11 dropped some old common controls or changed their internal resource IDs. Or the app itself has a corrupted dialog resource—maybe the installer got interrupted, or the DLL it relies on got updated.
The fix: step by step
Before you mess with anything, back up your data. This isn't a registry edit that'll brick your machine, but you don't want to lose work.
- Run the app in compatibility mode for Windows XP (or the OS it was built for).
Right-click the app's .exe file, go to Properties > Compatibility tab. Check "Run this program in compatibility mode for" and pick Windows XP (Service Pack 3) or Windows 7 if XP doesn't work. Apply, then try opening the list box again. This rewrites how Windows handles the dialog messages. I've seen this fix about 60% of cases. - Disable visual themes for that app.
In the same Compatibility tab, check "Disable visual themes." This strips out the modern theming that sometimes breaks old list box rendering. It's ugly but often works. - Check for missing Common Controls DLL.
Some old apps need the Windows Common Controls library (comctl32.dll) version 6.0. Open a Command Prompt as Admin and run:
Wait for it to finish. Then restart. If sfc finds corrupt system files, it'll replace them. This fixes cases where a Windows update borked the DLL.sfc /scannow - Re-register the app's dependent libraries.
If the app is a VB6 or Access runtime, try re-registering the control libraries. Open Command Prompt as Admin and run:
Press Enter after each. You might get a success message or a file-not-found error—that's okay, just means that library isn't present. Reboot and test.regsvr32 mscomctl.ocx regsvr32 comctl32.ocx - Use Dependency Walker to find the missing resource.
This is the nuclear option, but it works. Download Dependency Walker (depends.com) and open the app's .exe file. Look for any yellow-highlighted DLLs—those are missing. In my experience, the culprit is oftenmsvbvm60.dll(Visual Basic 6 runtime) ormscomctl.ocx. Install the missing runtime from Microsoft's official site. - Edit the app's manifest to declare a fixed control ID.
This is for advanced users only. If you know the exact list box ID the app is trying to reference (you can find it with Spy++ or WinSpy), you can create a side-by-side manifest file that maps the control IDs. I won't lie—this is tedious and you're better off using compatibility mode. But if you're desperate, search for "Windows compatibility manifest list box fix."
If it still fails
Sometimes the app is just too old or broken. Try installing it in a virtual machine running Windows XP—VirtualBox is free, and you can often find XP keys from old hardware. That's the cleanest way to keep legacy apps alive without fighting modern Windows.
Also, check the vendor's website for a patch. A lot of these errors were fixed in later versions of the software. If you're stuck on an ancient in-house app, talk to your developer about recompiling it with updated control references.
One last thing: if the error only happens on one machine, compare it to a coworker's setup. A missing Windows update or a corrupted .NET Framework install can trigger this. Run Windows Update, then check .NET Framework 3.5 is enabled (go to Control Panel > Programs > Turn Windows features on or off).
You'll get there. I've killed this error dozens of times—it's stubborn, but it's fixable.
Was this solution helpful?