Index: Library/PlatformBdsLib/BdsPlatform.c
===================================================================
--- Library/PlatformBdsLib/BdsPlatform.c	(revision 17607)
+++ Library/PlatformBdsLib/BdsPlatform.c	(working copy)
@@ -1618,6 +1618,11 @@
   UINTN                              BootOrderSize;
 
   Timeout = PcdGet16 (PcdPlatformBootTimeOut);
+  if (Timeout > 10 ) {
+    //we think the Timeout variable is corrupted
+    Timeout = 10;
+  }
+  	
   VarSize = sizeof(SYSTEM_CONFIGURATION);
   Status = gRT->GetVariable(
                   NORMAL_SETUP_NAME,
Index: PlatformInfoDxe/PlatformInfoDxe.c
===================================================================
--- PlatformInfoDxe/PlatformInfoDxe.c	(revision 17607)
+++ PlatformInfoDxe/PlatformInfoDxe.c	(working copy)
@@ -168,7 +168,7 @@
       Status = gRT->SetVariable(
                       L"PlatformInfo",
                       &gEfiVlv2VariableGuid,
-                      EFI_VARIABLE_BOOTSERVICE_ACCESS | EFI_VARIABLE_RUNTIME_ACCESS | EFI_VARIABLE_NON_VOLATILE,
+                      EFI_VARIABLE_BOOTSERVICE_ACCESS | EFI_VARIABLE_NON_VOLATILE,
                       sizeof(EFI_PLATFORM_INFO_HOB),
                       PlatformInfoHobPtr
                       );
