diff --git a/delegate/test/LstmTest.cpp b/delegate/test/LstmTest.cpp
index 87b87be..309f3cd 100644
--- a/delegate/test/LstmTest.cpp
+++ b/delegate/test/LstmTest.cpp
@@ -1,14 +1,10 @@
 //
-// Copyright © 2021, 2023 Arm Ltd and Contributors. All rights reserved.
+// Copyright © 2021, 2023-2024 Arm Ltd and Contributors. All rights reserved.
 // SPDX-License-Identifier: MIT
 //
 
 #include "LstmTestHelper.hpp"
 
-#include <armnn_delegate.hpp>
-
-#include <flatbuffers/flatbuffers.h>
-
 #include <doctest/doctest.h>
 
 namespace armnnDelegate
@@ -118,8 +114,7 @@
     float clippingThresCell = 0.f;
     float clippingThresProj = 0.f;
 
-    LstmTestImpl<float>(backends,
-                        ::tflite::TensorType_FLOAT32,
+    LstmTestImpl<float>(::tflite::TensorType_FLOAT32,
                         batchSize,
                         inputSize,
                         outputSize,
@@ -161,29 +156,18 @@
                         expectedOutputValues,
                         activationFunction,
                         clippingThresCell,
-                        clippingThresProj);
+                        clippingThresProj,
+                        backends);
 }
 
-TEST_SUITE("LstmTest_CpuRefTests")
+TEST_SUITE("LstmTest_Tests")
 {
 
-TEST_CASE ("LstmTest_CpuRef_Test")
+TEST_CASE ("LstmTest_Test")
 {
-    std::vector <armnn::BackendId> backends = {armnn::Compute::CpuRef};
+    std::vector <armnn::BackendId> backends = {armnn::Compute::CpuRef, armnn::Compute::CpuAcc};
     LstmTest(backends);
 }
 
-} //End of TEST_SUITE("Convolution2dTest_CpuRef")
-
-TEST_SUITE("LstmTest_CpuAccTests")
-{
-
-TEST_CASE ("LstmTest_CpuAcc_Test")
-{
-    std::vector <armnn::BackendId> backends = {armnn::Compute::CpuAcc};
-    LstmTest(backends);
 }
-
-} //End of TEST_SUITE("Convolution2dTest_CpuAcc")
-
 } // namespace armnnDelegate
\ No newline at end of file
