    Status = ImageTestCheckForCleanEnvironment (&Numbers);
    if (EFI_ERROR(Status)) {
      StandardLib->RecordAssertion (
-@@ -849,18 +861,12 @@ BBTestExitBootServicesConsistencyTest (
-                    );
+@@ -850,26 +865,14 @@ BBTestExitBootServicesConsistencyTest (
      return Status;
    }
-+  
-+  RecoveryDataSize = sizeof(RecoveryData);
-+  Status = RecoveryLib->ReadResetRecord(RecoveryLib, &RecoveryDataSize, RecoveryData);
  
 -  DataSize = MAX_BUFFER_SIZE;
 -  Status = gtRT->GetVariable (

 typedef struct {
   VOID          *Registration;
diff --git a/SctPkg/TestCase/UEFI/EFI/BootServices/MemoryAllocationServices/BlackBoxTest/MemoryAllocationServicesBBTestConformance.c b/SctPkg/TestCase/UEFI/EFI/BootServices/MemoryAllocationServices/BlackBoxTest/MemoryAllocationServicesBBTestConformance.c
index 1a73c99..23ae7a1 100644
--- a/SctPkg/TestCase/UEFI/EFI/BootServices/MemoryAllocationServices/BlackBoxTest/MemoryAllocationServicesBBTestConformance.c
+++ b/SctPkg/TestCase/UEFI/EFI/BootServices/MemoryAllocationServices/BlackBoxTest/MemoryAllocationServicesBBTestConformance.c
@@ -1110,81 +1110,3 @@ BBTestAllocatePoolConsistencyTest (

-                 &DataSize,                                   // DataSize
-                 &ReturnStatus                                // Data
-                 );
+  RecoveryDataSize = sizeof(RecoveryData);
+  Status = RecoveryLib->ReadResetRecord(RecoveryLib, &RecoveryDataSize, &RecoveryData);
 
-  if (Status == EFI_SUCCESS) {
-    goto CheckResult;
+  if (!EFI_ERROR(Status) && RecoveryData == 1) {
+      goto CheckResult;
   }
 
   //
-  // Print out some information to avoid the user thought it is an error
-  //
-  SctPrint (L"System will cold reset after 2 second. please run this test again...");
-  gtBS->Stall (2000000);
-
-  //
   // Checkpoint 1:
   // 3.5.2.1  ExitBootServices should not succeed with an invalid MapKey
   //
@@ -892,26 +895,26 @@ BBTestExitBootServicesConsistencyTest (
                    );
     return Status;
   }
-
   MapKey += MapKey;
 
+  RecoveryData = 1;
+  RecoveryLib->WriteResetRecord (RecoveryLib, sizeof(RecoveryData), &RecoveryData);
+
+  SctPrint (L"System will cold reset after 1 second. please run this test again...");

+  gtBS->Stall (1000000);

+
   ReturnStatus = gtBS->ExitBootServices (
                          mImageHandle,
                          MapKey
                          );
