diff --git a/src/backends/cl/test/ClFallbackTests.cpp b/src/backends/cl/test/ClFallbackTests.cpp
index 7721206..7cd05d1 100644
--- a/src/backends/cl/test/ClFallbackTests.cpp
+++ b/src/backends/cl/test/ClFallbackTests.cpp
@@ -35,6 +35,7 @@
     sub->GetOutputSlot(0).Connect(output->GetInputSlot(0));
 
     TensorInfo info = TensorInfo({ 1, 2, 4, 2 }, DataType::Float32);
+    info.SetConstant(true);
 
     input0->GetOutputSlot(0).SetTensorInfo(info);
     input1->GetOutputSlot(0).SetTensorInfo(info);
@@ -181,6 +182,7 @@
     sub->GetOutputSlot(0).Connect(output->GetInputSlot(0));
 
     TensorInfo info = TensorInfo({ 1, 2, 3, 2 }, DataType::Float32);
+    info.SetConstant(true);
 
     input0->GetOutputSlot(0).SetTensorInfo(info);
     input1->GetOutputSlot(0).SetTensorInfo(info);
@@ -311,6 +313,7 @@
     pooling->GetOutputSlot(0).Connect(output->GetInputSlot(0));
 
     TensorInfo info = TensorInfo({ 1, 2, 4, 2 }, DataType::Float32);
+    info.SetConstant(true);
     TensorInfo poolingInfo = TensorInfo({ 1, 2, 2, 1 }, DataType::Float32);
 
     input0->GetOutputSlot(0).SetTensorInfo(info);
@@ -468,6 +471,7 @@
     pooling->GetOutputSlot(0).Connect(output->GetInputSlot(0));
 
     TensorInfo info = TensorInfo({ 1, 2, 3, 2 }, DataType::Float32);
+    info.SetConstant(true);
     TensorInfo poolingInfo = TensorInfo({ 1, 2, 1, 1 }, DataType::Float32);
 
     input0->GetOutputSlot(0).SetTensorInfo(info);
@@ -536,6 +540,7 @@
 
     std::vector<float> expectedOutput{ 11.0f, -1.0f };
 
+
     InputTensors inputTensors
     {
         { 0, armnn::ConstTensor(runtime->GetInputTensorInfo(netId, 0), inputData0.data()) },
