diff --git a/dbus-sdr/storagecommands.cpp b/dbus-sdr/storagecommands.cpp
index e784f7e..40deb1b 100644
--- a/dbus-sdr/storagecommands.cpp
+++ b/dbus-sdr/storagecommands.cpp
@@ -1148,24 +1148,6 @@
     return ipmi::responseSuccess(ipmi::sel::eraseComplete);
 }
 
-ipmi::RspType<uint32_t> ipmiStorageGetSELTime()
-{
-    struct timespec selTime = {};
-
-    if (clock_gettime(CLOCK_REALTIME, &selTime) < 0)
-    {
-        return ipmi::responseUnspecifiedError();
-    }
-
-    return ipmi::responseSuccess(selTime.tv_sec);
-}
-
-ipmi::RspType<> ipmiStorageSetSELTime(uint32_t)
-{
-    // Set SEL Time is not supported
-    return ipmi::responseInvalidCommand();
-}
-
 std::vector<uint8_t>
     getType8SDRs(ipmi::sensor::EntityInfoMap::const_iterator& entity,
                  uint16_t recordId)
@@ -1265,16 +1247,6 @@
     ipmi::registerHandler(ipmi::prioOpenBmcBase, ipmi::netFnStorage,
                           ipmi::storage::cmdClearSel, ipmi::Privilege::Operator,
                           ipmiStorageClearSEL);
-
-    // <Get SEL Time>
-    ipmi::registerHandler(ipmi::prioOpenBmcBase, ipmi::netFnStorage,
-                          ipmi::storage::cmdGetSelTime, ipmi::Privilege::User,
-                          ipmiStorageGetSELTime);
-
-    // <Set SEL Time>
-    ipmi::registerHandler(ipmi::prioOpenBmcBase, ipmi::netFnStorage,
-                          ipmi::storage::cmdSetSelTime,
-                          ipmi::Privilege::Operator, ipmiStorageSetSELTime);
 }
 } // namespace storage
 } // namespace ipmi
diff --git a/storagehandler.cpp b/storagehandler.cpp
index 0057b77..4c02a50 100644
--- a/storagehandler.cpp
+++ b/storagehandler.cpp
@@ -892,16 +892,6 @@
                           ipmi::storage::cmdGetSelInfo, ipmi::Privilege::User,
                           ipmiStorageGetSelInfo);
 
-    // <Get SEL Time>
-    ipmi::registerHandler(ipmi::prioOpenBmcBase, ipmi::netFnStorage,
-                          ipmi::storage::cmdGetSelTime, ipmi::Privilege::User,
-                          ipmiStorageGetSelTime);
-
-    // <Set SEL Time>
-    ipmi::registerHandler(ipmi::prioOpenBmcBase, ipmi::netFnStorage,
-                          ipmi::storage::cmdSetSelTime,
-                          ipmi::Privilege::Operator, ipmiStorageSetSelTime);
-
     // <Get SEL Timezone>
     ipmi::registerHandler(ipmi::prioOpenBmcBase, ipmi::netFnStorage,
                           ipmi::storage::cmdGetSelTimeUtcOffset,
@@ -962,6 +952,16 @@
                           ipmi::storage::cmdReserveSel, ipmi::Privilege::User,
                           ipmiStorageReserveSel);
 
+    // <Get SEL Time>
+    ipmi::registerHandler(ipmi::prioOpenBmcBase, ipmi::netFnStorage,
+                          ipmi::storage::cmdGetSelTime, ipmi::Privilege::User,
+                          ipmiStorageGetSelTime);
+
+    // <Set SEL Time>
+    ipmi::registerHandler(ipmi::prioOpenBmcBase, ipmi::netFnStorage,
+                          ipmi::storage::cmdSetSelTime,
+                          ipmi::Privilege::Operator, ipmiStorageSetSelTime);
+
     ipmi::fru::registerCallbackHandler();
     return;
 }
