diff --git a/src/oemcommands.cpp b/src/oemcommands.cpp
index 1313316..43ba0fa 100644
--- a/src/oemcommands.cpp
+++ b/src/oemcommands.cpp
@@ -2030,11 +2030,12 @@
 
 int getCRConfig(ipmi::Context::ptr ctx, const std::string& property,
                 crConfigVariant& value,
+                const std::string& service = "xyz.openbmc_project.Settings",
                 std::chrono::microseconds timeout = ipmi::IPMI_DBUS_TIMEOUT)
 {
     boost::system::error_code ec;
     value = ctx->bus->yield_method_call<crConfigVariant>(
-        ctx->yield, ec, "xyz.openbmc_project.Settings",
+        ctx->yield, ec, service,
         "/xyz/openbmc_project/control/power_supply_redundancy",
         "org.freedesktop.DBus.Properties", "Get",
         "xyz.openbmc_project.Control.PowerSupplyRedundancy", property);
@@ -2110,7 +2111,8 @@
     rotationFeature = 2,
     rotationAlgo = 3,
     rotationPeriod = 4,
-    numOfPSU = 5
+    numOfPSU = 5,
+    rotationRankOrderEffective = 6
 };
 
 constexpr ipmi::Cc ccParameterNotSupported = 0x80;
@@ -2409,6 +2411,23 @@
             }
             return ipmi::responseSuccess(parameter, numberOfPSU);
         }
+        case crParameter::rotationRankOrderEffective:
+        {
+            if (getCRConfig(ctx, "RotationRankOrder", value,
+                            "xyz.openbmc_project.PSURedundancy"))
+            {
+                return ipmi::responseResponseError();
+            }
+            std::vector<uint8_t>* pResponse =
+                std::get_if<std::vector<uint8_t>>(&value);
+            if (!pResponse)
+            {
+                phosphor::logging::log<phosphor::logging::level::ERR>(
+                    "Error to get effective RotationRankOrder property");
+                return ipmi::responseResponseError();
+            }
+            return ipmi::responseSuccess(parameter, *pResponse);
+        }
         default:
         {
             return ipmi::response(ccParameterNotSupported);
