diff --git a/dbus-sdr/storagecommands.cpp b/dbus-sdr/storagecommands.cpp
index 874e5b2..1ae0de2 100644
--- a/dbus-sdr/storagecommands.cpp
+++ b/dbus-sdr/storagecommands.cpp
@@ -58,25 +58,6 @@
 {
 static constexpr const char* selEraseTimestamp = "/var/lib/ipmi/sel_erase_time";
 
-void save()
-{
-    // open the file, creating it if necessary
-    int fd = open(selEraseTimestamp, O_WRONLY | O_CREAT | O_CLOEXEC, 0644);
-    if (fd < 0)
-    {
-        std::cerr << "Failed to open file\n";
-        return;
-    }
-
-    // update the file timestamp to the current time
-    if (futimens(fd, NULL) < 0)
-    {
-        std::cerr << "Failed to update timestamp: "
-                  << std::string(strerror(errno));
-    }
-    close(fd);
-}
-
 int get()
 {
     return getFileTimestamp(selEraseTimestamp);
@@ -1154,33 +1135,6 @@
     // cleared
     cancelSELReservation();
 
-#ifndef FEATURE_SEL_LOGGER_CLEARS_SEL
-    // Save the erase time
-    dynamic_sensors::ipmi::sel::erase_time::save();
-
-    // Clear the SEL by deleting the log files
-    std::vector<std::filesystem::path> selLogFiles;
-    if (getSELLogFiles(selLogFiles))
-    {
-        for (const std::filesystem::path& file : selLogFiles)
-        {
-            std::error_code ec;
-            std::filesystem::remove(file, ec);
-        }
-    }
-
-    // Reload rsyslog so it knows to start new log files
-    boost::system::error_code ec;
-    ctx->bus->yield_method_call<>(ctx->yield, ec, "org.freedesktop.systemd1",
-                                  "/org/freedesktop/systemd1",
-                                  "org.freedesktop.systemd1.Manager",
-                                  "ReloadUnit", "rsyslog.service", "replace");
-    if (ec)
-    {
-        std::cerr << "error in reload rsyslog: " << ec << std::endl;
-        return ipmi::responseUnspecifiedError();
-    }
-#else
     boost::system::error_code ec;
     ctx->bus->yield_method_call<>(ctx->yield, ec, selLoggerServiceName,
                                   "/xyz/openbmc_project/Logging/IPMI",
@@ -1191,9 +1145,6 @@
         return ipmi::responseUnspecifiedError();
     }
 
-    // Save the erase time
-    dynamic_sensors::ipmi::sel::erase_time::save();
-#endif
     return ipmi::responseSuccess(ipmi::sel::eraseComplete);
 }
 
diff --git a/meson.build b/meson.build
index c043d79..67c5caf 100644
--- a/meson.build
+++ b/meson.build
@@ -88,7 +88,6 @@
   'entity-manager-decorators'  : '-DUSING_ENTITY_MANAGER_DECORATORS',
   'hybrid-sensors'             : '-DFEATURE_HYBRID_SENSORS',
   'sensors-cache'              : '-DFEATURE_SENSORS_CACHE',
-  'sel-logger-clears-sel'      : '-DFEATURE_SEL_LOGGER_CLEARS_SEL',
   'dynamic-storages-only'      : '-DFEATURE_DYNAMIC_STORAGES_ONLY',
 }
 
diff --git a/meson.options b/meson.options
index 2553d89..c6d2425 100644
--- a/meson.options
+++ b/meson.options
@@ -64,9 +64,6 @@
 option('shortname-remove-suffix', type: 'feature', value: 'enabled', description: 'shortname-remove-suffix is enabled by default')
 option('shortname-replace-words', type: 'feature', value: 'disabled', description: 'shortname-replace-words is disabled by default')
 
-# SEL Logger
-option('sel-logger-clears-sel', type: 'feature', value: 'disabled', description: 'Clearing SEL through sel-logger is disabled by default; offer a way to enable it')
-
 # Generate configuration from Yaml
 option('sensor-yaml-gen', type: 'string', value: 'sensor-example.yaml')
 option('invsensor-yaml-gen', type: 'string', value: 'inventory-sensor-example.yaml')
