diff --git a/src/armnn/layers/SplitterLayer.cpp b/src/armnn/layers/SplitterLayer.cpp
index 2e75139..f8a2ae0 100644
--- a/src/armnn/layers/SplitterLayer.cpp
+++ b/src/armnn/layers/SplitterLayer.cpp
@@ -130,14 +130,11 @@
                 // 2) the same TensorHandleFactory is used for input and split layer output
                 // 3) the output does not go to a Constant layer or input layer
                 // 4) if split along x or y (2 innermost dimensions) and the next layers do not require padding
-                // 5) neither the input nor the outputs have an Overridden TensorInfo
                 if (parentInfo.IsTypeSpaceMatch(info) && //(1)
                     factoryId == slot->GetTensorHandleFactoryId() && //(2)
                     GetOutputSlot(i).GetConnection(0)->GetOwningLayer().GetType() != LayerType::Constant && //(3)
                     GetOutputSlot(i).GetConnection(0)->GetOwningLayer().GetType() != LayerType::Input && //(3)
-                    canUseSubTensorOnXorY && //(4)
-                    !GetOutputSlot(i).GetConnection(0)->IsTensorInfoOverridden() && //(5)
-                    !GetInputSlot(0).IsTensorInfoOverridden()) //(5)
+                    canUseSubTensorOnXorY) //(4)
                 {
                     ARMNN_NO_DEPRECATE_WARN_BEGIN
                     return factory.CreateSubTensorHandle(*inputData,
diff --git a/src/backends/neon/NeonBackend.cpp b/src/backends/neon/NeonBackend.cpp
index 5fd1202..3a398e0 100644
--- a/src/backends/neon/NeonBackend.cpp
+++ b/src/backends/neon/NeonBackend.cpp
@@ -516,9 +516,8 @@
             {
                 continue;
             }
-            // Cannot remove a Reshape if it's connected to a SplitterLayer through a Tensor that has more than
-            // 4 dimensions
-            if (ConnectedToLayerType(baseLayer, LayerType::Splitter, 4))
+            // Cannot remove a Reshape if it's connected to a SplitterLayer
+            if (ConnectedToLayerType(baseLayer, LayerType::Splitter))
             {
                 continue;
             }
