diff --git a/src/core/hle/service/service.cpp b/src/core/hle/service/service.cpp
index 461d0930f..057562488 100644
--- a/src/core/hle/service/service.cpp
+++ b/src/core/hle/service/service.cpp
@@ -179,6 +179,14 @@ void ServiceFrameworkBase::HandleSyncRequest(Kernel::HLERequestContext& context)
     handler_invoker(this, info->handler_callback, context);
 }
 
+std::string ServiceFrameworkBase::GetFunctionName(u32 header) const {
+    if (!handlers.count(header)) {
+        return "";
+    }
+
+    return handlers.at(header).name;
+}
+
 ////////////////////////////////////////////////////////////////////////////////////////////////////
 // Module interface
 
diff --git a/src/core/hle/service/service.h b/src/core/hle/service/service.h
index 1d9e800e2..db6a0ad23 100644
--- a/src/core/hle/service/service.h
+++ b/src/core/hle/service/service.h
@@ -64,6 +64,9 @@ public:
 
     void HandleSyncRequest(Kernel::HLERequestContext& context) override;
 
+    /// Retrieves name of a function based on the header code. For IPC Recorder.
+    std::string GetFunctionName(u32 header) const;
+
 protected:
     /// Member-function pointer type of SyncRequest handlers.
     template <typename Self>