diff --git a/delegate/src/test/ArgMinMaxTestHelper.hpp b/delegate/src/test/ArgMinMaxTestHelper.hpp
index d071653..a734c81 100644
--- a/delegate/src/test/ArgMinMaxTestHelper.hpp
+++ b/delegate/src/test/ArgMinMaxTestHelper.hpp
@@ -88,7 +88,7 @@
     }
 
     // create operator
-    const std::vector<int32_t> operatorOutputs{{ 2 }};
+    const std::vector<int32_t> operatorOutputs{ 2 };
     flatbuffers::Offset <Operator> argMinMaxOperator =
         CreateOperator(flatBufferBuilder,
                        0,
@@ -97,7 +97,7 @@
                        operatorBuiltinOptionsType,
                        operatorBuiltinOptions);
 
-    const std::vector<int> subgraphOutputs{{ 2 }};
+    const std::vector<int> subgraphOutputs{ 2 };
     flatbuffers::Offset <SubGraph> subgraph =
         CreateSubGraph(flatBufferBuilder,
                        flatBufferBuilder.CreateVector(tensors.data(), tensors.size()),
diff --git a/delegate/src/test/PadTestHelper.hpp b/delegate/src/test/PadTestHelper.hpp
index 025d13d..3d6e649 100644
--- a/delegate/src/test/PadTestHelper.hpp
+++ b/delegate/src/test/PadTestHelper.hpp
@@ -115,7 +115,7 @@
     }
 
     // create operator
-    const std::vector<int32_t> operatorOutputs{{ 2 }};
+    const std::vector<int32_t> operatorOutputs{ 2 };
     flatbuffers::Offset <Operator> redefineOperator =
         CreateOperator(flatBufferBuilder,
                        0,
@@ -124,7 +124,7 @@
                        operatorBuiltinOptionsType,
                        operatorBuiltinOptions);
 
-    const std::vector<int> subgraphOutputs{{ 2 }};
+    const std::vector<int> subgraphOutputs{ 2 };
     flatbuffers::Offset <SubGraph> subgraph =
         CreateSubGraph(flatBufferBuilder,
                        flatBufferBuilder.CreateVector(tensors.data(), tensors.size()),
@@ -211,4 +211,4 @@
     armnnDelegate::CompareOutputData<T>(tfLiteInterpreter, armnnDelegateInterpreter, outputShape, expectedOutputValues);
 }
 
-} // anonymous namespace
\ No newline at end of file
+} // anonymous namespace
