diff --git a/lib/obmc_boot_test.py b/lib/obmc_boot_test.py
index 76f804d..07e9f77 100755
--- a/lib/obmc_boot_test.py
+++ b/lib/obmc_boot_test.py
@@ -350,9 +350,7 @@
 
     grp.rqprint_pgm_header()
 
-    # TODO: Need to fix to switch between old and new.
-    # Disabling for a brief moment.
-    #grk.run_key("Set BMC Power Policy  ${RESTORE_LAST_STATE}")
+    grk.run_key("Set BMC Power Policy  RESTORE_LAST_STATE")
 
     initial_plug_in_setup()
 
diff --git a/lib/utils.py b/lib/utils.py
new file mode 100644
index 0000000..6a3b809
--- /dev/null
+++ b/lib/utils.py
@@ -0,0 +1,101 @@
+#!/usr/bin/env python
+
+r"""
+Companion file to utils.robot.
+"""
+
+import gen_print as gp
+import gen_robot_keyword as grk
+from robot.libraries.BuiltIn import BuiltIn
+
+
+###############################################################################
+def set_power_policy_method():
+
+    r"""
+    Set the global bmc_power_policy_method to either 'Old' or 'New'.
+
+    The power policy data has moved from an 'org' location to an 'xyz'
+    location.  This keyword will determine whether the new method of getting
+    the power policy is valid and will set the global bmc_power_policy_method
+    variable accordingly.  If power_policy_setup is already set (by a prior
+    call to this function), this keyword will simply return.
+
+    If bmc_power_policy_method is "Old", this function will adjust the global
+    policy variables from data/variables.py: RESTORE_LAST_STATE,
+    ALWAYS_POWER_ON, ALWAYS_POWER_OFF.
+    """
+
+    # Retrieve global variables.
+    power_policy_setup = \
+        int(BuiltIn().get_variable_value("${power_policy_setup}",
+                                         default=0))
+    bmc_power_policy_method = \
+        BuiltIn().get_variable_value("${bmc_power_policy_method}",
+                                     default=0)
+    gp.dpvar(power_policy_setup)
+
+    # If this function has already been run once, we need not continue.
+    if power_policy_setup:
+        return
+
+    gp.dpvar(bmc_power_policy_method, 1)
+
+    # The user has not set bmc_power_policy_method via a -v parm so we will
+    # determine what it should be.
+    if bmc_power_policy_method == "":
+        status, ret_values = grk.run_key_u("New Get Power Policy", ignore=1)
+        if status == 'PASS':
+            bmc_power_policy_method = 'New'
+        else:
+            bmc_power_policy_method = 'Old'
+
+    gp.qpvar(bmc_power_policy_method)
+    # For old style, we will rewrite these global variable settings to old
+    # values.
+    if bmc_power_policy_method == "Old":
+        BuiltIn().set_global_variable("${RESTORE_LAST_STATE}",
+                                      "RESTORE_LAST_STATE")
+        BuiltIn().set_global_variable("${ALWAYS_POWER_ON}",
+                                      "ALWAYS_POWER_ON")
+        BuiltIn().set_global_variable("${ALWAYS_POWER_OFF}",
+                                      "ALWAYS_POWER_OFF")
+
+    # Set global variables to control subsequent calls to this function.
+    BuiltIn().set_global_variable("${bmc_power_policy_method}",
+                                  bmc_power_policy_method)
+    BuiltIn().set_global_variable("${power_policy_setup}", 1)
+
+
+###############################################################################
+
+
+###############################################################################
+def translate_power_policy_value(policy):
+
+    r"""
+    Translate the policy value and return the result.
+
+    Using old style functions, callers might call like this with a hard-
+    code value for policy:
+
+    Set BMC Power Policy  RESTORE_LAST_STATE
+
+    This function will get the value of the corresponding global variable (if
+    it exists) and return it.
+
+    This will allow the old style call to still work on systems using the new
+    method of storing the policy value.
+    """
+
+    valid_power_policy_vars = \
+        BuiltIn().get_variable_value("${valid_power_policy_vars}")
+
+    if policy not in valid_power_policy_vars:
+        return policy
+
+    status, ret_values = grk.run_key_u("Get Variable Value  ${" + policy + "}",
+                                       quiet=1)
+    return ret_values
+
+###############################################################################
diff --git a/lib/utils.robot b/lib/utils.robot
index bf33b84..df00d2d 100755
--- a/lib/utils.robot
+++ b/lib/utils.robot
@@ -10,6 +10,7 @@
 Library                 gen_cmd.py
 Library                 gen_robot_keyword.py
 Library                 bmc_ssh_utils.py
+Library                 utils.py
 
 *** Variables ***
 ${pflash_cmd}           /usr/sbin/pflash -r /dev/stdout -P VERSION
@@ -40,8 +41,15 @@
 # Initialize default debug value to 0.
 ${DEBUG}         ${0}
 
+# These variables are used to straddle between new and old methods of setting
+# values.
 ${boot_prog_method}     ${EMPTY}
 
+${power_policy_setup}             ${0}
+${bmc_power_policy_method}        ${EMPTY}
+@{valid_power_policy_vars}        RESTORE_LAST_STATE  ALWAYS_POWER_ON
+...                               ALWAYS_POWER_OFF
+
 *** Keywords ***
 
 Verify PNOR Update
@@ -792,28 +800,66 @@
 
 Set BMC Power Policy
     [Documentation]   Set the given BMC power policy.
-    [arguments]  ${power_restore_uri}=${POWER_RESTORE_URI}
-    ...          ${policy_attribute}=PowerRestorePolicy
-    ...          ${policy}=${RESTORE_LAST_STATE}
+    [Arguments]   ${policy}
+
+    # Note that this function will translate the old style "RESTORE_LAST_STATE"
+    # policy to the new style "xyz.openbmc_project.Control.Power.RestorePolicy.
+    # Policy.Restore" for you.
 
     # Description of argument(s):
-    # power_restore_uri    Power restore policy url.
-    #                      By default "/xyz/openbmc_project/control/host0/power_restore_policy/".
-    # policy               Power restore policy.
-    #                      By default ""xyz.openbmc_project.Control.Power.RestorePolicy.Policy.Restore".
+    # policy    Power restore policy (e.g "RESTORE_LAST_STATE",
+    #           ${RESTORE_LAST_STATE}).
+
+    # Set the bmc_power_policy_method to either 'Old' or 'New'.
+    Set Power Policy Method
+    # This translation helps bridge between old and new method for calling.
+    ${policy}=  Translate Power Policy Value  ${policy}
+    # Run the appropriate keyword.
+    Run Key  ${bmc_power_policy_method} Set Power Policy \ ${policy}
+    ${currentPolicy}=  Get System Power Policy
+    Should Be Equal    ${currentPolicy}   ${policy}
+
+New Set Power Policy
+    [Documentation]   Set the given BMC power policy (new method).
+    [Arguments]   ${policy}
+
+    # Description of argument(s):
+    # policy    Power restore policy (e.g. ${RESTORE_LAST_STATE}).
 
     ${valueDict}=  Create Dictionary  data=${policy}
     Write Attribute
-    ...  ${power_restore_uri}  ${policy_attribute}  data=${valueDict}
-    ${currentPolicy}=
-    ...  Read Attribute  ${power_restore_uri}  ${policy_attribute}
-    Should Be Equal    ${currentPolicy}   ${policy}
+    ...  ${POWER_RESTORE_URI}  PowerRestorePolicy  data=${valueDict}
+
+Old Set Power Policy
+    [Documentation]   Set the given BMC power policy (old method).
+    [Arguments]   ${policy}
+
+    # Description of argument(s):
+    # policy    Power restore policy (e.g. "RESTORE_LAST_STATE").
+
+    ${valueDict}=     create dictionary  data=${policy}
+    Write Attribute    ${HOST_SETTING}    power_policy   data=${valueDict}
 
 Get System Power Policy
     [Documentation]  Get the BMC power policy.
+
+    # Set the bmc_power_policy_method to either 'Old' or 'New'.
+    Set Power Policy Method
+    ${cmd_buf}=  Create List  ${bmc_power_policy_method} Get Power Policy
+    # Run the appropriate keyword.
+    ${currentPolicy}=  Run Keyword  @{cmd_buf}
+    [Return]  ${currentPolicy}
+
+New Get Power Policy
+    [Documentation]  Get the BMC power policy (new method).
     ${currentPolicy}=  Read Attribute  ${POWER_RESTORE_URI}  PowerRestorePolicy
     [Return]  ${currentPolicy}
 
+Old Get Power Policy
+    [Documentation]  Get the BMC power policy (old method).
+    ${currentPolicy}=  Read Attribute  ${HOST_SETTING}  power_policy
+    [Return]  ${currentPolicy}
+
 Get Auto Reboot
     [Documentation]  Returns auto reboot setting.
     ${setting}=  Read Attribute  ${CONTROL_HOST_URI}/auto_reboot  AutoReboot
