diff --git a/include/PSUEvent.hpp b/include/PSUEvent.hpp
index 0821d3f..3a39164 100644
--- a/include/PSUEvent.hpp
+++ b/include/PSUEvent.hpp
@@ -61,8 +61,6 @@
     void restartRead();
     void handleResponse(const boost::system::error_code& err);
     void updateValue(const int& newValue);
-    void beep(const uint8_t& beepPriority);
-    static constexpr uint8_t beepPSUFailure = 2;
     boost::asio::posix::stream_descriptor inputDev;
     std::string psuName;
     std::string groupEventName;
diff --git a/src/PSUEvent.cpp b/src/PSUEvent.cpp
index b02816f..44275a3 100644
--- a/src/PSUEvent.cpp
+++ b/src/PSUEvent.cpp
@@ -348,15 +348,6 @@
             *assertState = true;
             if (!assertMessage.empty())
             {
-                // For failure and configure error, spec requires a beep
-                if ((assertMessage == "OpenBMC.0.1.PowerSupplyFailed") ||
-                    (assertMessage ==
-                     "OpenBMC.0.1.PowerSupplyConfigurationError"))
-                {
-                    std::cout << " beep for " << assertMessage << "\n";
-                    beep(beepPSUFailure);
-                }
-
                 // Fan Failed has two args
                 if (assertMessage == "OpenBMC.0.1.PowerSupplyFanFailed")
                 {
@@ -382,17 +373,3 @@
     }
     value = newValue;
 }
-
-void PSUSubEvent::beep(const uint8_t& beepPriority)
-{
-    systemBus->async_method_call(
-        [](boost::system::error_code ec) {
-            if (ec)
-            {
-                std::cerr << "beep error (ec = " << ec << ")\n";
-                return;
-            }
-        },
-        "xyz.openbmc_project.BeepCode", "/xyz/openbmc_project/BeepCode",
-        "xyz.openbmc_project.BeepCode", "Beep", uint8_t(beepPriority));
-}
