diff --git a/delegate/cmake/Modules/FindTfLite.cmake b/delegate/cmake/Modules/FindTfLite.cmake
index 18d6032..41f55e3 100644
--- a/delegate/cmake/Modules/FindTfLite.cmake
+++ b/delegate/cmake/Modules/FindTfLite.cmake
@@ -18,7 +18,8 @@
             "libtensorflow_lite_all.so"
             "libtensorflowlite.so"
         HINTS
-            ${TFLITE_LIB_ROOT})
+            ${TFLITE_LIB_ROOT}
+            ${TFLITE_LIB_ROOT}/tensorflow/lite)
 
 find_path(TfLite_Schema_INCLUDE_PATH
             schema_generated.h
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
