diff --git a/MdeModulePkg/Library/FileExplorerLib/FileExplorer.c b/MdeModulePkg/Library/FileExplorerLib/FileExplorer.c index 13a214b06a..03630a29bc 100644 --- a/MdeModulePkg/Library/FileExplorerLib/FileExplorer.c +++ b/MdeModulePkg/Library/FileExplorerLib/FileExplorer.c @@ -1408,12 +1408,14 @@ LibUpdateFileExplorer ( if (NewFileContext->IsDir) { RemoveEntryList (&NewMenuEntry->Link); LibFreeMenu (gFileExplorerPrivate.FsOptionMenu); - LibGetFileHandleFromMenu (NewMenuEntry, &FileHandle); - Status = LibFindFiles (FileHandle, NewFileContext->FileName, NewFileContext->DeviceHandle); + Status = LibGetFileHandleFromMenu (NewMenuEntry, &FileHandle); if (!EFI_ERROR (Status)) { - LibUpdateFileExplorePage (); - } else { - LibFreeMenu (gFileExplorerPrivate.FsOptionMenu); + Status = LibFindFiles (FileHandle, NewFileContext->FileName, NewFileContext->DeviceHandle); + if (!EFI_ERROR (Status)) { + LibUpdateFileExplorePage (); + } else { + LibFreeMenu (gFileExplorerPrivate.FsOptionMenu); + } } LibDestroyMenuEntry (NewMenuEntry); }