diff --git a/src/profiling/ProfilingGuidGenerator.hpp b/src/profiling/ProfilingGuidGenerator.hpp
index a319035..dc6e22b 100644
--- a/src/profiling/ProfilingGuidGenerator.hpp
+++ b/src/profiling/ProfilingGuidGenerator.hpp
@@ -8,6 +8,7 @@
 #include "armnn/profiling/IProfilingGuidGenerator.hpp"
 
 #include <functional>
+#include <mutex>
 
 namespace armnn
 {
@@ -24,6 +25,7 @@
     /// Return the next random Guid in the sequence
     inline ProfilingDynamicGuid NextGuid() override
     {
+        std::lock_guard<std::mutex> sequencelock(m_SequenceMutex);
         ProfilingDynamicGuid guid(m_Sequence);
         m_Sequence++;
         if (m_Sequence >= MIN_STATIC_GUID)
@@ -42,8 +44,9 @@
     }
 
 private:
-    uint64_t m_Sequence;
     std::hash<std::string> m_Hash;
+    uint64_t m_Sequence;
+    std::mutex m_SequenceMutex;
 };
 
 } // namespace profiling
diff --git a/src/profiling/test/ProfilingGuidTest.cpp b/src/profiling/test/ProfilingGuidTest.cpp
index 5782d21..b8f6b88 100644
--- a/src/profiling/test/ProfilingGuidTest.cpp
+++ b/src/profiling/test/ProfilingGuidTest.cpp
@@ -12,6 +12,7 @@
 
 #include <boost/test/unit_test.hpp>
 #include <boost/format.hpp>
+#include <thread>
 
 using namespace armnn::profiling;
 
@@ -124,4 +125,28 @@
     }
 }
 
+BOOST_AUTO_TEST_CASE (ProfilingGuidThreadTest)
+{
+    ProfilingGuidGenerator profilingGuidGenerator;
+
+    auto guidGenerator = [&profilingGuidGenerator]()
+    {
+        for (int i = 0; i < 1000; ++i)
+        {
+            profilingGuidGenerator.NextGuid();
+        }
+    };
+
+    std::thread t1(guidGenerator);
+    std::thread t2(guidGenerator);
+    std::thread t3(guidGenerator);
+
+    t1.join();
+    t2.join();
+    t3.join();
+
+    uint64_t guid = profilingGuidGenerator.NextGuid();
+    BOOST_CHECK(guid == 3000u);
+}
+
 BOOST_AUTO_TEST_SUITE_END()
