diff --git a/ConversionUtils_1_2.hpp b/ConversionUtils_1_2.hpp
index 171d61b..ae24230 100644
--- a/ConversionUtils_1_2.hpp
+++ b/ConversionUtils_1_2.hpp
@@ -1233,10 +1233,9 @@
                 return false;
             }
 
-            ARMNN_NO_DEPRECATE_WARN_BEGIN
-            IConnectableLayer* convLayer =
-                data.m_Network->AddConvolution2dLayer(desc, groupWeights, Optional<ConstTensor>(groupBiases));
-            ARMNN_NO_DEPRECATE_WARN_END
+            IConnectableLayer* weightsLayer = data.m_Network->AddConstantLayer(groupWeights);
+            IConnectableLayer* biasLayer = data.m_Network->AddConstantLayer(groupBiases);
+            IConnectableLayer* convLayer = data.m_Network->AddConvolution2dLayer(desc);
 
             if (!convLayer)
             {
@@ -1244,6 +1243,11 @@
             }
 
             splitterLayer->GetOutputSlot(group).Connect(convLayer->GetInputSlot(0));
+            weightsLayer->GetOutputSlot(0).Connect(convLayer->GetInputSlot(1));
+            biasLayer->GetOutputSlot(0).Connect(convLayer->GetInputSlot(2));
+
+            weightsLayer->GetOutputSlot(0).SetTensorInfo(groupWeightsInfo);
+            biasLayer->GetOutputSlot(0).SetTensorInfo(groupBiasesInfo);
             convLayer->GetOutputSlot(0).SetTensorInfo(groupOutputInfo);
 
             if(isDynamic)
