diff --git a/src/backends/backendsCommon/Workload.hpp b/src/backends/backendsCommon/Workload.hpp
index b5851ad..e390580 100644
--- a/src/backends/backendsCommon/Workload.hpp
+++ b/src/backends/backendsCommon/Workload.hpp
@@ -8,8 +8,8 @@
 #include "WorkloadInfo.hpp"
 
 #include <armnn/Types.hpp>
+#include <armnn/IProfilingGuidGenerator.hpp>
 #include <Profiling.hpp>
-#include <ProfilingService.hpp>
 
 #include <algorithm>
 
@@ -45,7 +45,7 @@
 
     BaseWorkload(const QueueDescriptor& descriptor, const WorkloadInfo& info)
         : m_Data(descriptor),
-          m_Guid(profiling::ProfilingService::Instance().NextGuid())
+          m_Guid(profiling::IProfilingGuidGenerator::Instance().NextGuid())
     {
         m_Data.Validate(info);
     }
diff --git a/src/profiling/IProfilingGuidGenerator.hpp b/src/profiling/IProfilingGuidGenerator.hpp
deleted file mode 100644
index fb9f740..0000000
--- a/src/profiling/IProfilingGuidGenerator.hpp
+++ /dev/null
@@ -1,32 +0,0 @@
-//
-// Copyright © 2019 Arm Ltd. All rights reserved.
-// SPDX-License-Identifier: MIT
-//
-
-#pragma once
-
-#include <armnn/Types.hpp>
-
-#include <string>
-
-namespace armnn
-{
-
-namespace profiling
-{
-
-class IProfilingGuidGenerator
-{
-public:
-    /// Return the next random Guid in the sequence
-    virtual ProfilingDynamicGuid NextGuid() = 0;
-
-    /// Create a ProfilingStaticGuid based on a hash of the string
-    virtual ProfilingStaticGuid GenerateStaticId(const std::string& str) = 0;
-
-    virtual ~IProfilingGuidGenerator() {}
-};
-
-} // namespace profiling
-
-} // namespace armnn
diff --git a/src/profiling/ProfilingGuidGenerator.hpp b/src/profiling/ProfilingGuidGenerator.hpp
index 97de4a8..45f523c 100644
--- a/src/profiling/ProfilingGuidGenerator.hpp
+++ b/src/profiling/ProfilingGuidGenerator.hpp
@@ -5,7 +5,7 @@
 
 #pragma once
 
-#include "IProfilingGuidGenerator.hpp"
+#include "armnn/IProfilingGuidGenerator.hpp"
 
 #include <functional>
 
diff --git a/src/profiling/ProfilingService.cpp b/src/profiling/ProfilingService.cpp
index c4063a5..cbd8d6b 100644
--- a/src/profiling/ProfilingService.cpp
+++ b/src/profiling/ProfilingService.cpp
@@ -14,6 +14,11 @@
 namespace profiling
 {
 
+IProfilingGuidGenerator& IProfilingGuidGenerator::Instance()
+{
+    return ProfilingService::Instance();
+}
+
 void ProfilingService::ResetExternalProfilingOptions(const ExternalProfilingOptions& options,
                                                      bool resetProfilingService)
 {
