diff --git a/Common/Core/SMP/Common/vtkSMPToolsImpl.h b/Common/Core/SMP/Common/vtkSMPToolsImpl.h
index f336f1fe2d21e34ba54b6d5711a03260e46073d6..8ed35c982d53818c9ec1de9ac14cef350987172e 100644
--- a/Common/Core/SMP/Common/vtkSMPToolsImpl.h
+++ b/Common/Core/SMP/Common/vtkSMPToolsImpl.h
@@ -62,7 +62,7 @@ public:
   bool GetNestedParallelism() { return this->NestedActivated; }
 
   //--------------------------------------------------------------------------------
-  bool IsParallelScope() { return this->IsParallel; }
+  bool IsParallelScope();
 
   //--------------------------------------------------------------------------------
   bool GetSingleThread();
@@ -118,6 +118,12 @@ private:
   std::atomic<bool> IsParallel{ false };
 };
 
+template <BackendType Backend>
+bool vtkSMPToolsImpl<Backend>::IsParallelScope()
+{
+  return this->IsParallel;
+}
+
 using ExecuteFunctorPtrType = void (*)(void*, vtkIdType, vtkIdType, vtkIdType);
 
 VTK_ABI_NAMESPACE_END