diff --git a/physical.hpp b/physical.hpp
index 67a900b..3801c3a 100644
--- a/physical.hpp
+++ b/physical.hpp
@@ -37,9 +37,10 @@
      * @param[in] bus       - system dbus handler
      * @param[in] objPath   - The Dbus path that hosts physical LED
      * @param[in] ledPath   - sysfs path where this LED is exported
+     * @param[in] color     - led color name
      */
     Physical(sdbusplus::bus::bus& bus, const std::string& objPath,
-             SysfsLed& led) :
+             SysfsLed& led, const std::string& color = "") :
 
         sdbusplus::server::object::object<
             sdbusplus::xyz::openbmc_project::Led::server::Physical>(
@@ -50,6 +51,9 @@
         // need to save what the micro-controller currently has.
         setInitialState();
 
+        // Read led color from enviroment and set it in DBus.
+        setLedColor(color);
+
         // We are now ready.
         emit_object_added();
     }
@@ -102,6 +106,12 @@
      *  @return None
      */
     void blinkOperation();
+
+    /** @brief set led color property in DBus
+     *
+     *  @param[in] color - led color name
+     */
+    void setLedColor(const std::string& color);
 };
 
 } // namespace led
