diff --git a/src/backends/neon/NeonWorkloadFactory.cpp b/src/backends/neon/NeonWorkloadFactory.cpp
index 0568c81..0f386d1 100644
--- a/src/backends/neon/NeonWorkloadFactory.cpp
+++ b/src/backends/neon/NeonWorkloadFactory.cpp
@@ -104,7 +104,7 @@
 std::unique_ptr<IWorkload> NeonWorkloadFactory::CreateSplitter(const SplitterQueueDescriptor& descriptor,
                                                                const WorkloadInfo&            info) const
 {
-    return MakeWorkload<NeonSplitterFloatWorkload, NeonSplitterUint8Workload>(descriptor, info);
+    return std::make_unique<NeonSplitterWorkload>(descriptor, info);
 }
 
 std::unique_ptr<armnn::IWorkload> NeonWorkloadFactory::CreateMerger(const MergerQueueDescriptor& descriptor,
diff --git a/src/backends/neon/backend.mk b/src/backends/neon/backend.mk
index 4350297..26bf33e 100644
--- a/src/backends/neon/backend.mk
+++ b/src/backends/neon/backend.mk
@@ -38,7 +38,5 @@
         workloads/NeonSoftmaxBaseWorkload.cpp \
         workloads/NeonSoftmaxFloatWorkload.cpp \
         workloads/NeonSoftmaxUint8Workload.cpp \
-        workloads/NeonSplitterFloatWorkload.cpp \
-        workloads/NeonSplitterUint8Workload.cpp \
         workloads/NeonSubtractionFloatWorkload.cpp \
         workloads/NeonWorkloadUtils.cpp
diff --git a/src/backends/neon/test/NeonCreateWorkloadTests.cpp b/src/backends/neon/test/NeonCreateWorkloadTests.cpp
index 3f07ef0..e8790c3 100644
--- a/src/backends/neon/test/NeonCreateWorkloadTests.cpp
+++ b/src/backends/neon/test/NeonCreateWorkloadTests.cpp
@@ -433,7 +433,7 @@
 {
     Graph graph;
     NeonWorkloadFactory factory;
-    auto workload = CreateSplitterWorkloadTest<NeonSplitterFloatWorkload, DataType::Float32>(factory, graph);
+    auto workload = CreateSplitterWorkloadTest<NeonSplitterWorkload, DataType::Float32>(factory, graph);
 
     // Checks that outputs are as we expect them (see definition of CreateSplitterWorkloadTest).
     SplitterQueueDescriptor queueDescriptor = workload->GetData();
@@ -462,7 +462,7 @@
     NeonWorkloadFactory factory;
 
     auto workloads =
-        CreateSplitterMergerWorkloadTest<NeonSplitterFloatWorkload, NeonMergerWorkload,
+        CreateSplitterMergerWorkloadTest<NeonSplitterWorkload, NeonMergerWorkload,
             DataType::Float32>(factory, graph);
 
     auto wlSplitter = std::move(workloads.first);
@@ -491,13 +491,13 @@
 
     Graph graph;
     NeonWorkloadFactory factory;
-    std::unique_ptr<NeonSplitterFloatWorkload> wlSplitter;
+    std::unique_ptr<NeonSplitterWorkload> wlSplitter;
     std::unique_ptr<NeonActivationWorkload> wlActiv0_0;
     std::unique_ptr<NeonActivationWorkload> wlActiv0_1;
     std::unique_ptr<NeonActivationWorkload> wlActiv1_0;
     std::unique_ptr<NeonActivationWorkload> wlActiv1_1;
 
-    CreateSplitterMultipleInputsOneOutputWorkloadTest<NeonSplitterFloatWorkload,
+    CreateSplitterMultipleInputsOneOutputWorkloadTest<NeonSplitterWorkload,
         NeonActivationWorkload, DataType::Float32>(factory, graph, wlSplitter, wlActiv0_0, wlActiv0_1,
                                                    wlActiv1_0, wlActiv1_1);
 
diff --git a/src/backends/neon/workloads/CMakeLists.txt b/src/backends/neon/workloads/CMakeLists.txt
index 7c22472..7f91261 100644
--- a/src/backends/neon/workloads/CMakeLists.txt
+++ b/src/backends/neon/workloads/CMakeLists.txt
@@ -9,7 +9,6 @@
     NeonAdditionFloatWorkload.cpp
     NeonAdditionFloatWorkload.hpp
     NeonBaseConstantWorkload.hpp
-    NeonBaseSplitterWorkload.hpp
     NeonBatchNormalizationFloatWorkload.cpp
     NeonBatchNormalizationFloatWorkload.hpp
     NeonConstantFloatWorkload.cpp
@@ -61,10 +60,7 @@
     NeonSoftmaxFloatWorkload.hpp
     NeonSoftmaxUint8Workload.cpp
     NeonSoftmaxUint8Workload.hpp
-    NeonSplitterFloatWorkload.cpp
-    NeonSplitterFloatWorkload.hpp
-    NeonSplitterUint8Workload.cpp
-    NeonSplitterUint8Workload.hpp
+    NeonSplitterWorkload.hpp
     NeonSubtractionFloatWorkload.cpp
     NeonSubtractionFloatWorkload.hpp
     NeonWorkloads.hpp
diff --git a/src/backends/neon/workloads/NeonBaseSplitterWorkload.hpp b/src/backends/neon/workloads/NeonBaseSplitterWorkload.hpp
deleted file mode 100644
index dcee933..0000000
--- a/src/backends/neon/workloads/NeonBaseSplitterWorkload.hpp
+++ /dev/null
@@ -1,27 +0,0 @@
-//
-// Copyright © 2017 Arm Ltd. All rights reserved.
-// SPDX-License-Identifier: MIT
-//
-
-#pragma once
-
-#include <backends/Workload.hpp>
-#include <backends/neon/workloads/NeonWorkloadUtils.hpp>
-
-namespace armnn
-{
-
-// Base class template providing an implementation of the Splitter layer common to all data types.
-template <armnn::DataType... DataTypes>
-class NeonBaseSplitterWorkload : public TypedWorkload<SplitterQueueDescriptor, DataTypes...>
-{
-public:
-    using TypedWorkload<SplitterQueueDescriptor, DataTypes...>::TypedWorkload;
-
-    virtual void Execute() const override
-    {
-        // With subtensors, splitter is a no-op.
-    }
-};
-
-} //namespace armnn
diff --git a/src/backends/neon/workloads/NeonSplitterFloatWorkload.cpp b/src/backends/neon/workloads/NeonSplitterFloatWorkload.cpp
deleted file mode 100644
index 39ed5b7..0000000
--- a/src/backends/neon/workloads/NeonSplitterFloatWorkload.cpp
+++ /dev/null
@@ -1,17 +0,0 @@
-//
-// Copyright © 2017 Arm Ltd. All rights reserved.
-// SPDX-License-Identifier: MIT
-//
-
-#include "NeonSplitterFloatWorkload.hpp"
-
-namespace armnn
-{
-
-void NeonSplitterFloatWorkload::Execute() const
-{
-    ARMNN_SCOPED_PROFILING_EVENT_NEON("NeonSplitterFloatWorkload_Execute");
-    NeonBaseSplitterWorkload::Execute();
-}
-
-} //namespace armnn
diff --git a/src/backends/neon/workloads/NeonSplitterFloatWorkload.hpp b/src/backends/neon/workloads/NeonSplitterFloatWorkload.hpp
deleted file mode 100644
index 744a4fe..0000000
--- a/src/backends/neon/workloads/NeonSplitterFloatWorkload.hpp
+++ /dev/null
@@ -1,20 +0,0 @@
-//
-// Copyright © 2017 Arm Ltd. All rights reserved.
-// SPDX-License-Identifier: MIT
-//
-
-#pragma once
-
-#include "NeonBaseSplitterWorkload.hpp"
-
-namespace armnn
-{
-
-class NeonSplitterFloatWorkload : public NeonBaseSplitterWorkload<DataType::Float16, DataType::Float32>
-{
-public:
-    using NeonBaseSplitterWorkload<DataType::Float16, DataType::Float32>::NeonBaseSplitterWorkload;
-    virtual void Execute() const override;
-};
-
-} //namespace armnn
diff --git a/src/backends/neon/workloads/NeonSplitterUint8Workload.cpp b/src/backends/neon/workloads/NeonSplitterUint8Workload.cpp
deleted file mode 100644
index 4b2cf8f..0000000
--- a/src/backends/neon/workloads/NeonSplitterUint8Workload.cpp
+++ /dev/null
@@ -1,17 +0,0 @@
-//
-// Copyright © 2017 Arm Ltd. All rights reserved.
-// SPDX-License-Identifier: MIT
-//
-
-#include "NeonSplitterUint8Workload.hpp"
-
-namespace armnn
-{
-
-void NeonSplitterUint8Workload::Execute() const
-{
-    ARMNN_SCOPED_PROFILING_EVENT_NEON("NeonSplitterUint8Workload_Execute");
-    NeonBaseSplitterWorkload::Execute();
-}
-
-} //namespace armnn
diff --git a/src/backends/neon/workloads/NeonSplitterUint8Workload.hpp b/src/backends/neon/workloads/NeonSplitterUint8Workload.hpp
deleted file mode 100644
index f219cfa..0000000
--- a/src/backends/neon/workloads/NeonSplitterUint8Workload.hpp
+++ /dev/null
@@ -1,20 +0,0 @@
-//
-// Copyright © 2017 Arm Ltd. All rights reserved.
-// SPDX-License-Identifier: MIT
-//
-
-#pragma once
-
-#include "NeonBaseSplitterWorkload.hpp"
-
-namespace armnn
-{
-
-class NeonSplitterUint8Workload : public NeonBaseSplitterWorkload<DataType::QuantisedAsymm8>
-{
-public:
-    using NeonBaseSplitterWorkload<DataType::QuantisedAsymm8>::NeonBaseSplitterWorkload;
-    virtual void Execute() const override;
-};
-
-} //namespace armnn
diff --git a/src/backends/neon/workloads/NeonSplitterWorkload.hpp b/src/backends/neon/workloads/NeonSplitterWorkload.hpp
new file mode 100644
index 0000000..11c1767
--- /dev/null
+++ b/src/backends/neon/workloads/NeonSplitterWorkload.hpp
@@ -0,0 +1,24 @@
+//
+// Copyright © 2017 Arm Ltd. All rights reserved.
+// SPDX-License-Identifier: MIT
+//
+
+#pragma once
+
+#include <backends/Workload.hpp>
+
+namespace armnn
+{
+
+class NeonSplitterWorkload : public BaseWorkload<SplitterQueueDescriptor>
+{
+public:
+    using BaseWorkload<SplitterQueueDescriptor>::BaseWorkload;
+
+    virtual void Execute() const override
+    {
+        // With subtensors, splitter is a no-op.
+    }
+};
+
+} //namespace armnn
diff --git a/src/backends/neon/workloads/NeonWorkloads.hpp b/src/backends/neon/workloads/NeonWorkloads.hpp
index c877c94..917b1fe 100644
--- a/src/backends/neon/workloads/NeonWorkloads.hpp
+++ b/src/backends/neon/workloads/NeonWorkloads.hpp
@@ -7,7 +7,6 @@
 #include "NeonActivationWorkload.hpp"
 #include "NeonAdditionFloatWorkload.hpp"
 #include "NeonBaseConstantWorkload.hpp"
-#include "NeonBaseSplitterWorkload.hpp"
 #include "NeonBatchNormalizationFloatWorkload.hpp"
 #include "NeonConstantFloatWorkload.hpp"
 #include "NeonConstantUint8Workload.hpp"
@@ -32,6 +31,5 @@
 #include "NeonReshapeWorkload.hpp"
 #include "NeonSoftmaxFloatWorkload.hpp"
 #include "NeonSoftmaxUint8Workload.hpp"
-#include "NeonSplitterFloatWorkload.hpp"
-#include "NeonSplitterUint8Workload.hpp"
+#include "NeonSplitterWorkload.hpp"
 #include "NeonSubtractionFloatWorkload.hpp"
