diff --git a/ShellPkg/Library/UefiShellLevel2CommandsLib/Rm.c b/ShellPkg/Library/UefiShellLevel2CommandsLib/Rm.c index dbf980a60c..b85120b763 100644 --- a/ShellPkg/Library/UefiShellLevel2CommandsLib/Rm.c +++ b/ShellPkg/Library/UefiShellLevel2CommandsLib/Rm.c @@ -144,7 +144,7 @@ CascadeDelete( if (!EFI_ERROR(Node2->Status)) { ShellStatus = CascadeDelete(Node2, Quiet); } else if (ShellStatus == SHELL_SUCCESS) { - ShellStatus = Node2->Status; + ShellStatus = (SHELL_STATUS)(Node2->Status&(~0x80000000)); } if (ShellStatus != SHELL_SUCCESS) { if (List!=NULL) {