diff --git a/tests/mini_parser.py b/tests/mini_parser.py
index 57b3d59f82cd628b3a48a8b16c70aaf171267a6a..fbeaff8e59ffd7d6e442a0e97eb498fdec3c2a70 100644
--- a/tests/mini_parser.py
+++ b/tests/mini_parser.py
@@ -41,12 +41,12 @@ class MiniCilParser:
 
     def _parseType(self, stmt):
         m = re.match(r"type\s+(.+)", stmt)
-        self.types.update(set(m.group(1)))
+        self.types.add(m.group(1))
         return
 
     def _parseTypeattribute(self, stmt):
         m = re.match(r"typeattribute\s+(.+)", stmt)
-        self.typeattributes.update(set(m.group(1)))
+        self.typeattributes.add(m.group(1))
         return
 
     def _parseTypeattributeset(self, stmt):
@@ -67,7 +67,7 @@ class MiniCilParser:
         # check to see if this typeattributeset is a versioned public type
         pub = re.match(r"(\w+)_\d+_\d+", ta)
         if pub is not None:
-            self.pubtypes.update(set(pub.group(1)))
+            self.pubtypes.add(pub.group(1))
         return
 
     def _parseStmt(self, stmt):
diff --git a/tests/treble_sepolicy_tests.py b/tests/treble_sepolicy_tests.py
index f659677587fc60254433458c9a0a32e86b1565e7..c48066d1b27b7fb817afd74f96a69f6afec8713d 100644
--- a/tests/treble_sepolicy_tests.py
+++ b/tests/treble_sepolicy_tests.py
@@ -212,6 +212,7 @@ def TestCoredomainViolations():
 def TestNoUnmappedNewTypes():
     global alltypes
     global oldalltypes
+    global compatMapping
     newt = alltypes - oldalltypes
     ret = ""
     violators = []
@@ -228,8 +229,31 @@ def TestNoUnmappedNewTypes():
         ret += " ".join(str(x) for x in sorted(violators)) + "\n"
     return ret
 
+###
+# Make sure that any public type removed in the current policy has its
+# declaration added to the mapping file for use in non-platform policy
+def TestNoUnmappedRmTypes():
+    global alltypes
+    global oldalltypes
+    global compatMapping
+    rmt = oldalltypes - alltypes
+    ret = ""
+    violators = []
+
+    for o in rmt:
+        if o in compatMapping.pubtypes and not o in compatMapping.types:
+            violators.append(o)
+
+    if len(violators) > 0:
+        ret += "SELinux: The following formerly public types were removed from "
+        ret += "policy without a declaration in the compatibility mapping "
+        ret += "file(s) found in prebuilts/api/" + compatMapping.apiLevel + "/\n"
+        ret += " ".join(str(x) for x in sorted(violators)) + "\n"
+    return ret
+
 def TestTrebleCompatMapping():
     ret = TestNoUnmappedNewTypes()
+    ret += TestNoUnmappedRmTypes()
     return ret
 ###
 # extend OptionParser to allow the same option flag to be used multiple times.