diff --git a/tools/lint/common.c b/tools/lint/common.c
index 64c34dc..d319410 100644
--- a/tools/lint/common.c
+++ b/tools/lint/common.c
@@ -94,7 +94,7 @@
     struct schema_features *rec = (struct schema_features *)flist;
 
     if (rec) {
-        free(rec->module);
+        free(rec->mod_name);
         if (rec->features) {
             for (uint32_t u = 0; rec->features[u]; ++u) {
                 free(rec->features[u]);
@@ -113,7 +113,7 @@
     /* get features list for this module */
     for (uint32_t u = 0; u < fset->count; ++u) {
         struct schema_features *sf = (struct schema_features *)fset->objs[u];
-        if (!strcmp(module, sf->module)) {
+        if (!strcmp(module, sf->mod_name)) {
             /* matched module - explicitly set features */
             *features = (const char **)sf->features;
             return;
@@ -147,7 +147,7 @@
         YLMSG_E("Invalid format of the features specification (%s)", fstring);
         return -1;
     }
-    rec->module = strndup(fstring, p - fstring);
+    rec->mod_name = strndup(fstring, p - fstring);
 
     /* start count on 2 to include terminating NULL byte */
     for (int count = 2; p; ++count) {
diff --git a/tools/lint/common.h b/tools/lint/common.h
index 2e25c09..72ce1bd 100644
--- a/tools/lint/common.h
+++ b/tools/lint/common.h
@@ -48,7 +48,7 @@
  * @brief Storage for the list of the features (their names) in a specific YANG module.
  */
 struct schema_features {
-    char *module;
+    char *mod_name;
     char **features;
 };
 
diff --git a/tools/lint/main_ni.c b/tools/lint/main_ni.c
index 1097301..8941f18 100644
--- a/tools/lint/main_ni.c
+++ b/tools/lint/main_ni.c
@@ -50,7 +50,7 @@
     /*
      * schema
      */
-    /* set schema modules' features via --feature option (struct schema_features *) */
+    /* set schema modules' features via --features option (struct schema_features *) */
     struct ly_set schema_features;
 
     /* set of loaded schema modules (struct lys_module *) */
