diff --git a/test/ethread_test.cc b/test/ethread_test.cc
index 70fbb55..dc9cb5c 100644
--- a/test/ethread_test.cc
+++ b/test/ethread_test.cc
@@ -433,27 +433,12 @@
   DoTest();
 }
 
-class AVxEncoderThreadRTTestLarge : public AVxEncoderThreadTest {};
-
-TEST_P(AVxEncoderThreadRTTestLarge, EncoderResultTest) {
-  cfg_.large_scale_tile = 0;
-  decoder_->Control(AV1_SET_TILE_MODE, 0);
-  DoTest();
-}
-
 // Test cpu_used 7, 8, 9 here.
 AV1_INSTANTIATE_TEST_SUITE(AVxEncoderThreadRTTest,
                            ::testing::Values(::libaom_test::kRealTime),
                            ::testing::Values(7, 8, 9), ::testing::Values(0, 2),
                            ::testing::Values(0, 2), ::testing::Values(0, 1));
 
-// Test cpu_used 0, 2, 4 and 6.
-AV1_INSTANTIATE_TEST_SUITE(AVxEncoderThreadRTTestLarge,
-                           ::testing::Values(::libaom_test::kRealTime),
-                           ::testing::Values(0, 2, 4, 6),
-                           ::testing::Values(1, 6), ::testing::Values(1, 6),
-                           ::testing::Values(0, 1));
-
 #if !CONFIG_REALTIME_ONLY
 class AVxEncoderThreadTestLarge : public AVxEncoderThreadTest {};
 
@@ -463,6 +448,14 @@
   DoTest();
 }
 
+class AVxEncoderThreadRTTestLarge : public AVxEncoderThreadTest {};
+
+TEST_P(AVxEncoderThreadRTTestLarge, EncoderResultTest) {
+  cfg_.large_scale_tile = 0;
+  decoder_->Control(AV1_SET_TILE_MODE, 0);
+  DoTest();
+}
+
 TEST_P(AVxEncoderThreadTest, EncoderResultTest) {
   cfg_.large_scale_tile = 0;
   decoder_->Control(AV1_SET_TILE_MODE, 0);
@@ -489,6 +482,13 @@
                            ::testing::Values(0, 1, 3, 5),
                            ::testing::Values(1, 6), ::testing::Values(1, 6),
                            ::testing::Values(0, 1));
+
+// Test cpu_used 0, 2, 4 and 6.
+AV1_INSTANTIATE_TEST_SUITE(AVxEncoderThreadRTTestLarge,
+                           ::testing::Values(::libaom_test::kRealTime),
+                           ::testing::Values(0, 2, 4, 6),
+                           ::testing::Values(1, 6), ::testing::Values(1, 6),
+                           ::testing::Values(0, 1));
 #endif
 
 class AVxEncoderThreadLSTest : public AVxEncoderThreadTest {
