diff --git a/tests/sepol_wrap.cpp b/tests/sepol_wrap.cpp
index 41f13bf7fe2127f0c366a4502c920944dfecfc9c..15f3e7079f06ab00d4fec3ce317e44b4c4bcad4e 100644
--- a/tests/sepol_wrap.cpp
+++ b/tests/sepol_wrap.cpp
@@ -116,11 +116,16 @@ void *init_type_iter(void *policydbp, const char *type, bool is_attr)
     } else {
         out->alltypes = TYPE_ITER_LOOKUP;
         out->d = static_cast<type_datum *>(hashtab_search(db->p_types.table, type));
+        if (out->d == nullptr) {
+            std::cerr << "\"" << type << "\" does not exist" << std::endl;
+            free(out);
+            return nullptr;
+        }
         if (is_attr && out->d->flavor != TYPE_ATTRIB) {
             std::cerr << "\"" << type << "\" MUST be an attribute in the policy" << std::endl;
             free(out);
             return nullptr;
-        } else if (!is_attr && out->d->flavor !=TYPE_TYPE) {
+        } else if (!is_attr && out->d->flavor != TYPE_TYPE) {
             std::cerr << "\"" << type << "\" MUST be a type in the policy" << std::endl;
             free(out);
             return nullptr;