diff --git a/samples/DynamicSample.cpp b/samples/DynamicSample.cpp
index e4d2b28..65732ca 100644
--- a/samples/DynamicSample.cpp
+++ b/samples/DynamicSample.cpp
@@ -1,5 +1,5 @@
 //
-// Copyright © 2020 Arm Ltd. All rights reserved.
+// Copyright © 2020-2021,2023 Arm Ltd and Contributors. All rights reserved.
 // SPDX-License-Identifier: MIT
 //
 #include <armnn/INetwork.hpp>
@@ -21,7 +21,7 @@
 
     IConnectableLayer* input0 = myNetwork->AddInputLayer(0);
     IConnectableLayer* input1 = myNetwork->AddInputLayer(1);
-    IConnectableLayer* add    = myNetwork->AddAdditionLayer();
+    IConnectableLayer* add    = myNetwork->AddElementwiseBinaryLayer(BinaryOperation::Add);
     IConnectableLayer* output = myNetwork->AddOutputLayer(0);
 
     input0->GetOutputSlot(0).Connect(add->GetInputSlot(0));
diff --git a/src/backends/backendsCommon/test/DynamicBackendTests.hpp b/src/backends/backendsCommon/test/DynamicBackendTests.hpp
index 6a673c6..a55146e 100644
--- a/src/backends/backendsCommon/test/DynamicBackendTests.hpp
+++ b/src/backends/backendsCommon/test/DynamicBackendTests.hpp
@@ -1,5 +1,5 @@
 //
-// Copyright © 2017,2022 Arm Ltd and Contributors. All rights reserved.
+// Copyright © 2019-2023 Arm Ltd and Contributors. All rights reserved.
 // SPDX-License-Identifier: MIT
 //
 
@@ -1568,7 +1568,9 @@
 
     IConnectableLayer* input0 = net->AddInputLayer(0);
     IConnectableLayer* input1 = net->AddInputLayer(1);
+    ARMNN_NO_DEPRECATE_WARN_BEGIN
     IConnectableLayer* add = net->AddAdditionLayer();
+    ARMNN_NO_DEPRECATE_WARN_END
     IConnectableLayer* output = net->AddOutputLayer(0);
 
     input0->GetOutputSlot(0).Connect(add->GetInputSlot(0));
diff --git a/src/backends/backendsCommon/test/MultiplicationEndToEndTestImpl.hpp b/src/backends/backendsCommon/test/MultiplicationEndToEndTestImpl.hpp
index 40442e2..ba871da 100644
--- a/src/backends/backendsCommon/test/MultiplicationEndToEndTestImpl.hpp
+++ b/src/backends/backendsCommon/test/MultiplicationEndToEndTestImpl.hpp
@@ -1,5 +1,5 @@
 //
-// Copyright © 2022 Arm Ltd and Contributors. All rights reserved.
+// Copyright © 2022-2023 Arm Ltd and Contributors. All rights reserved.
 // SPDX-License-Identifier: MIT
 //
 #pragma once
@@ -30,8 +30,9 @@
 
     TensorInfo outputTensorInfo(outputShape, DataType, qScale, qOffset);
 
-
+    ARMNN_NO_DEPRECATE_WARN_BEGIN
     IConnectableLayer* multiplication = network->AddMultiplicationLayer("multiplication");
+    ARMNN_NO_DEPRECATE_WARN_END
     IConnectableLayer* inputX = network->AddInputLayer(0, "inputX");
     IConnectableLayer* inputY = network->AddInputLayer(1, "inputY");
     IConnectableLayer* output = network->AddOutputLayer(0, "output");
diff --git a/src/backends/backendsCommon/test/SubtractionEndToEndTestImpl.hpp b/src/backends/backendsCommon/test/SubtractionEndToEndTestImpl.hpp
index 747fe26..1a1b9fc 100644
--- a/src/backends/backendsCommon/test/SubtractionEndToEndTestImpl.hpp
+++ b/src/backends/backendsCommon/test/SubtractionEndToEndTestImpl.hpp
@@ -1,5 +1,5 @@
 //
-// Copyright © 2022 Arm Ltd and Contributors. All rights reserved.
+// Copyright © 2022-2023 Arm Ltd and Contributors. All rights reserved.
 // SPDX-License-Identifier: MIT
 //
 #pragma once
@@ -30,8 +30,9 @@
 
     TensorInfo outputTensorInfo(outputShape, DataType, qScale, qOffset);
 
-
+    ARMNN_NO_DEPRECATE_WARN_BEGIN
     IConnectableLayer* subtraction = network->AddSubtractionLayer("subtraction");
+    ARMNN_NO_DEPRECATE_WARN_END
     IConnectableLayer* inputX = network->AddInputLayer(0, "inputX");
     IConnectableLayer* inputY = network->AddInputLayer(1, "inputY");
     IConnectableLayer* output = network->AddOutputLayer(0, "output");
diff --git a/src/backends/tosaCommon/test/OneToOneMappingTests.cpp b/src/backends/tosaCommon/test/OneToOneMappingTests.cpp
index 6e532ab..0cf8002 100644
--- a/src/backends/tosaCommon/test/OneToOneMappingTests.cpp
+++ b/src/backends/tosaCommon/test/OneToOneMappingTests.cpp
@@ -34,7 +34,9 @@
 
     IConnectableLayer* input0 = net->AddInputLayer(0, "input0");
     IConnectableLayer* input1 = net->AddInputLayer(1, "input1");
+    ARMNN_NO_DEPRECATE_WARN_BEGIN
     IConnectableLayer* add    = net->AddAdditionLayer("add");
+    ARMNN_NO_DEPRECATE_WARN_END
     IConnectableLayer* output = net->AddOutputLayer(0, "output");
 
     input0->GetOutputSlot(0).Connect(add->GetInputSlot(0));
@@ -329,7 +331,9 @@
 
     IConnectableLayer* input0 = net->AddInputLayer(0, "input0");
     IConnectableLayer* input1 = net->AddInputLayer(1, "input1");
+    ARMNN_NO_DEPRECATE_WARN_BEGIN
     IConnectableLayer* add    = net->AddMultiplicationLayer("multiplication");
+    ARMNN_NO_DEPRECATE_WARN_END
     IConnectableLayer* output = net->AddOutputLayer(0, "output");
 
     input0->GetOutputSlot(0).Connect(add->GetInputSlot(0));
diff --git a/src/backends/tosaReference/test/TosaRefOptimizedNetworkTests.cpp b/src/backends/tosaReference/test/TosaRefOptimizedNetworkTests.cpp
index 64b6805..86cbc4e 100644
--- a/src/backends/tosaReference/test/TosaRefOptimizedNetworkTests.cpp
+++ b/src/backends/tosaReference/test/TosaRefOptimizedNetworkTests.cpp
@@ -1,5 +1,5 @@
 //
-// Copyright © 2022 Arm Ltd and Contributors. All rights reserved.
+// Copyright © 2022-2023 Arm Ltd and Contributors. All rights reserved.
 // SPDX-License-Identifier: MIT
 //
 
@@ -21,7 +21,9 @@
 
     auto inputLayer1 = network->AddInputLayer(0, "input_1");
     auto inputLayer2 = network->AddInputLayer(1, "input_2");
+    ARMNN_NO_DEPRECATE_WARN_BEGIN
     auto addLayer = network->AddAdditionLayer("add");
+    ARMNN_NO_DEPRECATE_WARN_END
     auto outputLayer = network->AddOutputLayer(2, "output");
 
     armnn::TensorInfo tensorInfo{{4}, armnn::DataType::Float32};
