diff --git a/src/libknot/zone/zone-contents.c b/src/libknot/zone/zone-contents.c
index ff1a1d40cf3b7b4285a2f5a19b675204f4d6479f..fbf4ab3d7cad7428014bbf0f976185532b88be42 100644
--- a/src/libknot/zone/zone-contents.c
+++ b/src/libknot/zone/zone-contents.c
@@ -2515,6 +2515,12 @@ int knot_zone_contents_integrity_check(const knot_zone_contents_t *contents)
 	data.children = 0;
 	data.contents = contents;
 
+	if (contents == NULL) {
+		log_zone_warning("Zone to be integrity-checked does "
+		                 "not exist. Skipping...\n");
+		return 1;
+	}
+
 	int ret = knot_zone_contents_tree_apply_inorder(
 				(knot_zone_contents_t *)contents,
 				knot_zc_integrity_check_node, (void *)&data);