diff --git a/control/json/manager.hpp b/control/json/manager.hpp
index 5b6aaac..8bb5c35 100644
--- a/control/json/manager.hpp
+++ b/control/json/manager.hpp
@@ -175,8 +175,8 @@
      * @brief Callback function to handle receiving a USR1 signal to dump
      * the flight recorder.
      */
-    void sigUsr1Handler(sdeventplus::source::Signal&,
-                        const struct signalfd_siginfo*);
+    void dumpDebugData(sdeventplus::source::Signal&,
+                       const struct signalfd_siginfo*);
 
     /**
      * @brief Get the active profiles of the system where an empty list
@@ -637,10 +637,6 @@
     /* List of events configured */
     std::map<configKey, std::unique_ptr<Event>> _events;
 
-    /* The sdeventplus wrapper around sd_event_add_defer to dump debug
-     * data from the event loop after the USR1 signal.  */
-    std::unique_ptr<sdeventplus::source::Defer> debugDumpEventSource;
-
     /**
      * @brief A map of parameter names and values that are something
      *        other than just D-Bus property values that other actions
@@ -699,11 +695,6 @@
     void setProfiles();
 
     /**
-     * @brief Callback from debugDumpEventSource to dump debug data
-     */
-    void dumpDebugData(sdeventplus::source::EventBase&);
-
-    /**
      * @brief Dump the _objects, _servTree, and _parameters maps to JSON
      *
      * @param[out] data - The JSON that will be filled in
