diff --git a/src/backends/cl/ClWorkloadFactory.cpp b/src/backends/cl/ClWorkloadFactory.cpp
index b4f4a72..b5b863b 100644
--- a/src/backends/cl/ClWorkloadFactory.cpp
+++ b/src/backends/cl/ClWorkloadFactory.cpp
@@ -267,8 +267,7 @@
 std::unique_ptr<IWorkload> ClWorkloadFactory::CreatePad(const PadQueueDescriptor& descriptor,
                                                         const WorkloadInfo& info) const
 {
-    return MakeWorkload<ClPadWorkload<armnn::DataType::Float16, armnn::DataType::Float32>,
-                        ClPadWorkload<armnn::DataType::QuantisedAsymm8>>(descriptor, info);
+    return std::make_unique<ClPadWorkload>(descriptor, info);
 }
 
 void ClWorkloadFactory::Finalize()
diff --git a/src/backends/cl/workloads/ClPadWorkload.cpp b/src/backends/cl/workloads/ClPadWorkload.cpp
index 89b0d8f..e75af83 100644
--- a/src/backends/cl/workloads/ClPadWorkload.cpp
+++ b/src/backends/cl/workloads/ClPadWorkload.cpp
@@ -15,9 +15,8 @@
 {
 using namespace armcomputetensorutils;
 
-template <armnn::DataType... T>
-ClPadWorkload<T...>::ClPadWorkload(const PadQueueDescriptor& descriptor, const WorkloadInfo& info)
-: TypedWorkload<PadQueueDescriptor, T...>(descriptor, info)
+ClPadWorkload::ClPadWorkload(const PadQueueDescriptor& descriptor, const WorkloadInfo& info)
+    : BaseWorkload<PadQueueDescriptor>(descriptor, info)
 {
     this->m_Data.ValidateInputsOutputs("ClPadWorkload", 1, 1);
 
@@ -28,8 +27,7 @@
     m_Layer.configure(&input, &output, padList);
 }
 
-template <armnn::DataType... T>
-void ClPadWorkload<T...>::Execute() const
+void ClPadWorkload::Execute() const
 {
     ARMNN_SCOPED_PROFILING_EVENT_CL("ClPadWorkload_Execute");
     m_Layer.run();
@@ -51,6 +49,3 @@
 }
 
 } // namespace armnn
-
-template class armnn::ClPadWorkload<armnn::DataType::Float16, armnn::DataType::Float32>;
-template class armnn::ClPadWorkload<armnn::DataType::QuantisedAsymm8>;
diff --git a/src/backends/cl/workloads/ClPadWorkload.hpp b/src/backends/cl/workloads/ClPadWorkload.hpp
index 97f57fd..70f6c42 100644
--- a/src/backends/cl/workloads/ClPadWorkload.hpp
+++ b/src/backends/cl/workloads/ClPadWorkload.hpp
@@ -11,8 +11,7 @@
 
 namespace armnn {
 
-template <armnn::DataType... dataTypes>
-class ClPadWorkload : public TypedWorkload<PadQueueDescriptor, dataTypes...>
+class ClPadWorkload : public BaseWorkload<PadQueueDescriptor>
 {
 public:
     ClPadWorkload(const PadQueueDescriptor& descriptor, const WorkloadInfo& info);
@@ -28,4 +27,3 @@
                                   const PadDescriptor& descriptor);
 
 } //namespace armnn
-
