diff --git a/tests/ImageCSVFileGenerator/ImageCSVFileGenerator.cpp b/tests/ImageCSVFileGenerator/ImageCSVFileGenerator.cpp
index 5405df9..0138c1c 100644
--- a/tests/ImageCSVFileGenerator/ImageCSVFileGenerator.cpp
+++ b/tests/ImageCSVFileGenerator/ImageCSVFileGenerator.cpp
@@ -5,7 +5,6 @@
 
 #include <Filesystem.hpp>
 #include <cxxopts/cxxopts.hpp>
-#include <boost/range/iterator_range.hpp>
 
 #include <algorithm>
 #include <fstream>
@@ -147,10 +146,10 @@
                 ("h,help", "Display help messages")
                 ("i,indir",
                     "Directory that .raw files are stored in",
-                 cxxopts::value<std::string>(m_InputDirectory))
+                    cxxopts::value<std::string>(m_InputDirectory))
                 ("o,outfile",
                     "Output CSV file path",
-                 cxxopts::value<std::string>(m_OutputFileName))
+                    cxxopts::value<std::string>(m_OutputFileName))
                 ("l, layer-binding-id",
                     "Input layer binding Id, Defaults to 0",
                     cxxopts::value<std::string>(m_InputBindingId)->default_value("0"));
@@ -209,7 +208,7 @@
     const std::string bindingId(cmdline.GetInputBindingId());
 
     std::vector<fs::path> rawFiles;
-    for (auto& entry : boost::make_iterator_range(fs::directory_iterator(rawDirectory), {}))
+    for (auto& entry : fs::directory_iterator(rawDirectory))
     {
         if (entry.path().extension().c_str() == fileFormat)
         {
diff --git a/tests/ModelAccuracyTool-Armnn/ModelAccuracyTool-Armnn.cpp b/tests/ModelAccuracyTool-Armnn/ModelAccuracyTool-Armnn.cpp
index edc7e1c..dccf5ff 100644
--- a/tests/ModelAccuracyTool-Armnn/ModelAccuracyTool-Armnn.cpp
+++ b/tests/ModelAccuracyTool-Armnn/ModelAccuracyTool-Armnn.cpp
@@ -10,7 +10,6 @@
 #include <Filesystem.hpp>
 
 #include <boost/program_options/variables_map.hpp>
-#include <boost/range/iterator_range.hpp>
 #include <map>
 
 using namespace armnn::test;
@@ -391,11 +390,14 @@
 {
     // Populate imageFilenames with names of all .JPEG, .PNG images
     std::vector<std::string> imageFilenames;
-    for (const auto& imageEntry :
-         boost::make_iterator_range(fs::directory_iterator(fs::path(imageDirectoryPath))))
+    for (const auto& imageEntry : fs::directory_iterator(fs::path(imageDirectoryPath)))
     {
         fs::path imagePath = imageEntry.path();
-        std::string imageExtension        = boost::to_upper_copy<std::string>(imagePath.extension().string());
+
+        // Get extension and convert to uppercase
+        std::string imageExtension = imagePath.extension().string();
+        std::transform(imageExtension.begin(), imageExtension.end(), imageExtension.begin(), ::toupper);
+
         if (fs::is_regular_file(imagePath) && (imageExtension == ".JPEG" || imageExtension == ".PNG"))
         {
             imageFilenames.push_back(imagePath.filename().string());
