diff --git a/src/knot/zone/semantic-check.c b/src/knot/zone/semantic-check.c
index 9ff3f0788a8bd38a72f7d6b72622bcbb326aa4e4..79242cf61579b6dfd7695dd69673d32dc46399cf 100644
--- a/src/knot/zone/semantic-check.c
+++ b/src/knot/zone/semantic-check.c
@@ -1081,9 +1081,9 @@ static int do_checks_in_tree(knot_node_t *node, void *data)
 		return KNOT_EOK;
 	}
 
-	if (do_checks > 1) {
+	if (do_checks == SEM_CHECK_NSEC || do_checks == SEM_CHECK_NSEC3) {
 		semantic_checks_dnssec(zone, node, last_node,
-				       handler, do_checks == 3);
+				       handler, do_checks == SEM_CHECK_NSEC3);
 	}
 
 	return KNOT_EOK;
diff --git a/src/knot/zone/semantic-check.h b/src/knot/zone/semantic-check.h
index c5fa439ad28cac6abca03b45de0a5c73a51c593f..6d2520e1b886117408a89342e2dab80a6a7ab33f 100644
--- a/src/knot/zone/semantic-check.h
+++ b/src/knot/zone/semantic-check.h
@@ -30,6 +30,12 @@
 #include "knot/zone/node.h"
 #include "knot/zone/zone-contents.h"
 
+enum check_levels {
+	SEM_CHECK_UNSIGNED = 1,
+	SEM_CHECK_NSEC = 2,
+	SEM_CHECK_NSEC3 = 3
+};
+
 /*!
  *\brief Internal error constants. General errors are added for convenience,
  *       so that code does not have to change if new errors are added.
diff --git a/src/knot/zone/zone-create.c b/src/knot/zone/zone-create.c
index ff2800db225e829df3a03c9949247725141c1555..e48af3e1e5cf312eae967d6b8a02496d2efa7c24 100644
--- a/src/knot/zone/zone-create.c
+++ b/src/knot/zone/zone-create.c
@@ -277,7 +277,7 @@ knot_zone_contents_t *zonefile_load(zloader_t *loader)
 	}
 
 	if (loader->semantic_checks) {
-		int check_level = 1;
+		int check_level = SEM_CHECK_UNSIGNED;
 		const knot_rrset_t *soa_rr =
 			knot_node_rrset(zc->z->apex,
 		                        KNOT_RRTYPE_SOA);
@@ -287,9 +287,9 @@ knot_zone_contents_t *zonefile_load(zloader_t *loader)
 		                        KNOT_RRTYPE_NSEC3PARAM);
 		if (knot_zone_contents_is_signed(zc->z) && nsec3param_rr == NULL) {
 			/* Set check level to DNSSEC. */
-			check_level = 2;
+			check_level = SEM_CHECK_NSEC;
 		} else if (knot_zone_contents_is_signed(zc->z) && nsec3param_rr) {
-			check_level = 3;
+			check_level = SEM_CHECK_NSEC3;
 		}
 		err_handler_t err_handler;
 		err_handler_init(&err_handler);