diff --git a/configure.ac b/configure.ac
index b0e7985..27d4d9d 100644
--- a/configure.ac
+++ b/configure.ac
@@ -89,20 +89,24 @@
     AS_HELP_STRING([--enable-use-lamp-test], [Enable lamp test configuration.]))
 AM_CONDITIONAL([WANTS_LAMP_TEST], [test "x$enable_use_lamp_test" == "xyes"])
 
-
-
 AS_IF([test "x$enable_use_lamp_test" == "xyes"],
     AC_DEFINE([USE_LAMP_TEST],[],[Enable lamp test configuration.])
 
     # lamp test path
     AC_ARG_VAR(LAMP_TEST_OBJECT, [The lamp test object])
 
+    # host lamp test path
+    AC_ARG_VAR(HOST_LAMP_TEST_OBJECT, [The lamp test object])
+
     # lamp test timeout secs
     AC_ARG_VAR(LAMP_TEST_TIMEOUT_IN_SECS, [The lamp test timeout in seconds])
 
     AS_IF([test "x$LAMP_TEST_OBJECT" == "x"], [LAMP_TEST_OBJECT="/xyz/openbmc_project/led/groups/lamp_test"])
     AC_DEFINE_UNQUOTED([LAMP_TEST_OBJECT], ["$LAMP_TEST_OBJECT"], [The lamp test D-Bus object])
 
+    AS_IF([test "x$HOST_LAMP_TEST_OBJECT" == "x"], [HOST_LAMP_TEST_OBJECT="/xyz/openbmc_project/led/groups/host_lamp_test"])
+    AC_DEFINE_UNQUOTED([HOST_LAMP_TEST_OBJECT], ["$HOST_LAMP_TEST_OBJECT"], [The host lamp test D-Bus object])
+
     AS_IF([test "x$LAMP_TEST_TIMEOUT_IN_SECS" == "x"], [LAMP_TEST_TIMEOUT_IN_SECS=240])
     AC_DEFINE_UNQUOTED([LAMP_TEST_TIMEOUT_IN_SECS], [$LAMP_TEST_TIMEOUT_IN_SECS], [The lamp test timeout in seconds])
 )
diff --git a/lamptest.cpp b/lamptest.cpp
index 572ef68..aaf73de 100644
--- a/lamptest.cpp
+++ b/lamptest.cpp
@@ -35,6 +35,9 @@
 
     timer.setEnabled(false);
 
+    // Stop host lamp test
+    doHostLampTest(false);
+
     // Set all the Physical action to Off
     for (const auto& path : physicalLEDPaths)
     {
@@ -128,6 +131,9 @@
     timer.restart(std::chrono::seconds(LAMP_TEST_TIMEOUT_IN_SECS));
     isLampTestRunning = true;
 
+    // Notify PHYP to start the lamp test
+    doHostLampTest(true);
+
     // Set all the Physical action to On for lamp test
     for (const auto& path : physicalLEDPaths)
     {
@@ -180,5 +186,22 @@
     }
 }
 
+void LampTest::doHostLampTest(bool value)
+{
+    try
+    {
+        PropertyValue assertedValue{value};
+        dBusHandler.setProperty(HOST_LAMP_TEST_OBJECT,
+                                "xyz.openbmc_project.Led.Group", "Asserted",
+                                assertedValue);
+    }
+    catch (const sdbusplus::exception::SdBusError& e)
+    {
+        log<level::ERR>("Failed to set Asserted property",
+                        entry("ERROR=%s", e.what()),
+                        entry("PATH=%s", HOST_LAMP_TEST_OBJECT));
+    }
+}
+
 } // namespace led
 } // namespace phosphor
diff --git a/lamptest.hpp b/lamptest.hpp
index ef0d7b0..1797dce 100644
--- a/lamptest.hpp
+++ b/lamptest.hpp
@@ -110,6 +110,12 @@
      *  @return enumeration equivalent of the passed in string
      */
     Layout::Action getActionFromString(const std::string& str);
+
+    /** @brief Notify PHYP to start / stop the lamp test
+     *
+     *  @param[in]  value   -  the Asserted property value
+     */
+    void doHostLampTest(bool value);
 };
 
 } // namespace led
