diff --git a/cfg_checker/nodes.py b/cfg_checker/nodes.py
index 1780b60..eea6500 100644
--- a/cfg_checker/nodes.py
+++ b/cfg_checker/nodes.py
@@ -31,13 +31,15 @@
     # skip list file
     if skip_list_file:
         _valid, _invalid = utils.get_nodes_list(skip_list_file)
-        logger_cli.info(
-            "\n# WARNING: Detected invalid entries "
-            "in nodes skip list: {}\n".format(
-                "\n".join(_invalid)
-            )
-        )
         _skipped_minions.extend(_valid)
+        if len(_invalid) < 1:
+            logger_cli.info(
+                "\n# WARNING: Detected invalid entries "
+                "in nodes skip list:\n{}\n".format(
+                    "\n".join(_invalid)
+                )
+            )
+        
     # process wildcard, create node list out of mask
     if skip_list:
         _list = []
@@ -329,6 +331,14 @@
                 _data[_pillar_keys[-1]] = _result[node]
 
     def prepare_json_on_node(self, node, _dict, filename):
+        if node in self.skip_list:
+            logger_cli.debug(
+                "... '{}' skipped while preparing json file of '{}'".format(
+                    node,
+                    filename
+                )
+            )
+
         # this function assumes that all folders are created
         _dumps = json.dumps(_dict, indent=2).splitlines()
         _storage_path = os.path.join(
