diff --git a/ConversionUtils.hpp b/ConversionUtils.hpp
index 4e4b4d6..a342d39 100644
--- a/ConversionUtils.hpp
+++ b/ConversionUtils.hpp
@@ -236,7 +236,7 @@
     return *reshapeLayer;
 }
 
-bool BroadcastTensor(LayerInputHandle& input0, LayerInputHandle& input1, const armnn::TensorInfo& outputInfo,
+bool BroadcastTensor(LayerInputHandle& input0, LayerInputHandle& input1,
                      armnn::IConnectableLayer* startLayer, ConversionData& data)
 {
     BOOST_ASSERT(startLayer != nullptr);
@@ -286,8 +286,8 @@
                                IsReshapeSupported,
                                data.m_Backends,
                                isSupported,
+                               smallInfo,
                                reshapedInfo,
-                               outputInfo,
                                reshapeDescriptor);
     if (!isSupported)
     {
@@ -1584,7 +1584,7 @@
 
     if (endLayer != nullptr)
     {
-        bool isReshapeSupported = BroadcastTensor(input0, input1, outputInfo, startLayer, data);
+        bool isReshapeSupported = BroadcastTensor(input0, input1, startLayer, data);
         if (!isReshapeSupported)
         {
             return false;
@@ -2398,7 +2398,7 @@
 
     if (endLayer)
     {
-        bool isReshapeSupported = BroadcastTensor(input0, input1, outputInfo, startLayer, data);
+        bool isReshapeSupported = BroadcastTensor(input0, input1, startLayer, data);
         if (!isReshapeSupported)
         {
             return false;
@@ -2974,7 +2974,7 @@
 
     if (endLayer != nullptr)
     {
-        bool isReshapeSupported = BroadcastTensor(input0, input1, outputInfo, startLayer, data);
+        bool isReshapeSupported = BroadcastTensor(input0, input1, startLayer, data);
         if (!isReshapeSupported)
         {
             return false;
@@ -3183,7 +3183,7 @@
 
     if (endLayer)
     {
-        bool isReshapeSupported = BroadcastTensor(input0, input1, outputInfo, startLayer, data);
+        bool isReshapeSupported = BroadcastTensor(input0, input1, startLayer, data);
         if (!isReshapeSupported)
         {
             return false;
