diff --git a/tools/lint/common.c b/tools/lint/common.c
index 5c5894e..650aa78 100644
--- a/tools/lint/common.c
+++ b/tools/lint/common.c
@@ -114,6 +114,7 @@
         if (!strcmp(module, sf->mod_name)) {
             /* matched module - explicitly set features */
             *features = (const char **)sf->features;
+            sf->applied = 1;
             return;
         }
     }
diff --git a/tools/lint/common.h b/tools/lint/common.h
index 72ce1bd..ae37df2 100644
--- a/tools/lint/common.h
+++ b/tools/lint/common.h
@@ -50,6 +50,7 @@
 struct schema_features {
     char *mod_name;
     char **features;
+    ly_bool applied;
 };
 
 /**
diff --git a/tools/lint/main_ni.c b/tools/lint/main_ni.c
index ace7ea0..2e76c6d 100644
--- a/tools/lint/main_ni.c
+++ b/tools/lint/main_ni.c
@@ -271,10 +271,25 @@
     }
 }
 
+static struct schema_features *
+get_features_not_applied(const struct ly_set *fset)
+{
+    for (uint32_t u = 0; u < fset->count; ++u) {
+        struct schema_features *sf = fset->objs[u];
+        if (!sf->applied) {
+            return sf;
+        }
+    }
+
+    return NULL;
+}
+
 static int
 fill_context_inputs(int argc, char *argv[], struct context *c)
 {
     struct ly_in *in;
+    struct schema_features *sf;
+    const char *all_features[] = {"*", NULL};
 
     /* process the operational content if any */
     if (c->data_operational.path) {
@@ -347,6 +362,19 @@
         }
     }
 
+    /* check that all secified features were applied */
+    sf = get_features_not_applied(&c->schema_features);
+    if (sf) {
+        if (ly_ctx_get_module_implemented(c->ctx, sf->mod_name)) {
+            YLMSG_E("Specified features not applied, module \"%s\" must be parsed explicitly.\n", sf->mod_name);
+        } else if (ly_ctx_get_module_latest(c->ctx, sf->mod_name)) {
+            YLMSG_E("Specified features not applied, module \"%s\" not implemented.\n", sf->mod_name);
+        } else {
+            YLMSG_E("Specified features not applied, module \"%s\" not found.\n", sf->mod_name);
+        }
+        goto error;
+    }
+
     return 0;
 
 error:
