diff --git a/IntelFrameworkModulePkg/Universal/BdsDxe/DeviceMngr/DeviceManager.c b/IntelFrameworkModulePkg/Universal/BdsDxe/DeviceMngr/DeviceManager.c
index 9e4fff6d33..b545b6c849 100644
--- a/IntelFrameworkModulePkg/Universal/BdsDxe/DeviceMngr/DeviceManager.c
+++ b/IntelFrameworkModulePkg/Universal/BdsDxe/DeviceMngr/DeviceManager.c
@@ -464,13 +464,24 @@ CallDeviceManager (
                 &NumHandles,
                 &DriverHealthHandles
                 );
+
   //
-  // If there are no drivers installed driver health protocol
+  // If there are no drivers installed driver health protocol, do not create driver health entry in UI
   //
-  if (NumHandles == 0) {
-    HiiSetString (HiiHandle, STRING_TOKEN (STR_DM_DRIVER_HEALTH_TITLE), GetStringById (STRING_TOKEN (STR_EMPTY_STRING)), NULL);
-    HiiSetString (HiiHandle, STRING_TOKEN (STR_DRIVER_HEALTH_ALL_HEALTHY), GetStringById (STRING_TOKEN (STR_EMPTY_STRING)), NULL);
-  } else {
+  if (NumHandles != 0) {
+    //
+    // If driver health protocol is installed, create Driver Health subtitle and entry
+    //
+    HiiCreateSubTitleOpCode (StartOpCodeHandle, STRING_TOKEN (STR_DM_DRIVER_HEALTH_TITLE), 0, 0, 0);
+    HiiCreateActionOpCode (
+      StartOpCodeHandle,                                // Container for dynamic created opcodes
+      DEVICE_MANAGER_KEY_DRIVER_HEALTH,                 // Question ID
+      STRING_TOKEN(STR_DRIVER_HEALTH_ALL_HEALTHY),      // Prompt text
+      STRING_TOKEN(STR_DRIVER_HEALTH_STATUS_HELP),      // Help text
+      EFI_IFR_FLAG_CALLBACK,                            // Question flag
+      0                                                 // Action String ID
+    );
+
     //
     // Check All Driver health status
     //
diff --git a/IntelFrameworkModulePkg/Universal/BdsDxe/DeviceMngr/DeviceManagerVfr.Vfr b/IntelFrameworkModulePkg/Universal/BdsDxe/DeviceMngr/DeviceManagerVfr.Vfr
index c08ad26214..41a25e4a39 100644
--- a/IntelFrameworkModulePkg/Universal/BdsDxe/DeviceMngr/DeviceManagerVfr.Vfr
+++ b/IntelFrameworkModulePkg/Universal/BdsDxe/DeviceMngr/DeviceManagerVfr.Vfr
@@ -2,7 +2,7 @@
 //  
 //    Device Manager formset.
 //  
-//  Copyright (c) 2004 - 2009, Intel Corporation. 
+//  Copyright (c) 2004 - 2010, Intel Corporation. 
 //  All rights reserved. This program and the accompanying materials
 //  are licensed and made available under the terms and conditions of the BSD License
 //  which accompanies this distribution.  The full text of the license may be found at
@@ -66,16 +66,6 @@ formset
 
     label LABEL_DEVICES_LIST;
     label LABEL_END;
-    
-    subtitle text = STRING_TOKEN(STR_LAST_STRING);
-    subtitle text = STRING_TOKEN(STR_DM_DRIVER_HEALTH_TITLE); 
-    
-    text
-      help   = STRING_TOKEN(STR_DRIVER_HEALTH_STATUS_HELP),
-      text   = STRING_TOKEN(STR_DRIVER_HEALTH_ALL_HEALTHY),
-      text   = STRING_TOKEN(STR_LAST_STRING),
-      flags  = INTERACTIVE,
-      key    = DEVICE_MANAGER_KEY_DRIVER_HEALTH;   
       
     subtitle text = STRING_TOKEN(STR_EMPTY_STRING);