diff --git a/reactos/dll/win32/shell32/CDefaultContextMenu.cpp b/reactos/dll/win32/shell32/CDefaultContextMenu.cpp index 233dbd5849c..e870b3ddb35 100644 --- a/reactos/dll/win32/shell32/CDefaultContextMenu.cpp +++ b/reactos/dll/win32/shell32/CDefaultContextMenu.cpp @@ -760,13 +760,6 @@ CDefaultContextMenu::BuildShellItemContextMenu( } } } - - if (RegOpenKeyExW(HKEY_CLASSES_ROOT, L"*", 0, KEY_READ, &hKey) == ERROR_SUCCESS) - { - /* load default extensions */ - EnumerateDynamicContextHandlerForKey(hKey); - RegCloseKey(hKey); - } } } else @@ -845,6 +838,15 @@ CDefaultContextMenu::BuildShellItemContextMenu( EnumerateDynamicContextHandlerForKey(hKey); RegCloseKey(hKey); } + + if (!(rfg & SFGAO_FOLDER)) + { + if (RegOpenKeyExW(HKEY_CLASSES_ROOT, L"*", 0, KEY_READ, &hKey) == ERROR_SUCCESS) + { + EnumerateDynamicContextHandlerForKey(hKey); + RegCloseKey(hKey); + } + } } /* add static context menu handlers */