diff --git a/tests/mts/bpf_existence_test.cpp b/tests/mts/bpf_existence_test.cpp
index 2cd3310..956a15e 100644
--- a/tests/mts/bpf_existence_test.cpp
+++ b/tests/mts/bpf_existence_test.cpp
@@ -151,31 +151,42 @@
     addAll(unexpected, INTRODUCED_R);
     addAll(unexpected, INTRODUCED_S);
     addAll(unexpected, INTRODUCED_T);
+    addAll(unexpected, INTRODUCED_T_5_4);
+    addAll(unexpected, INTRODUCED_T_5_15);
 
     if (IsAtLeastR()) {
-        addAll(expected, INTRODUCED_R);
         removeAll(unexpected, INTRODUCED_R);
+        addAll(expected, INTRODUCED_R);
+
         // Nothing removed in R.
     }
 
     if (IsAtLeastS()) {
-        addAll(expected, INTRODUCED_S);
-        removeAll(expected, REMOVED_S);
-
-        addAll(unexpected, REMOVED_S);
         removeAll(unexpected, INTRODUCED_S);
+        addAll(expected, INTRODUCED_S);
+
+        removeAll(expected, REMOVED_S);
+        addAll(unexpected, REMOVED_S);
     }
 
     // Nothing added or removed in SCv2.
 
     if (IsAtLeastT()) {
-        addAll(expected, INTRODUCED_T);
-        if (android::bpf::isAtLeastKernelVersion(5, 4, 0)) addAll(expected, INTRODUCED_T_5_4);
-        if (android::bpf::isAtLeastKernelVersion(5, 15, 0)) addAll(expected, INTRODUCED_T_5_15);
-        removeAll(expected, REMOVED_T);
-
-        addAll(unexpected, REMOVED_T);
         removeAll(unexpected, INTRODUCED_T);
+        addAll(expected, INTRODUCED_T);
+
+        if (android::bpf::isAtLeastKernelVersion(5, 4, 0)) {
+            removeAll(unexpected, INTRODUCED_T_5_4);
+            addAll(expected, INTRODUCED_T_5_4);
+        }
+
+        if (android::bpf::isAtLeastKernelVersion(5, 15, 0)) {
+            removeAll(unexpected, INTRODUCED_T_5_15);
+            addAll(expected, INTRODUCED_T_5_15);
+        }
+
+        removeAll(expected, REMOVED_T);
+        addAll(unexpected, REMOVED_T);
     }
 }
 
