diff --git a/lib/node.c b/lib/node.c
index fbd1337af..2c7759564 100644
--- a/lib/node.c
+++ b/lib/node.c
@@ -487,7 +487,7 @@ int node_write(struct node *n, struct sample *smps[], unsigned cnt, unsigned *re
 char * node_name(struct node *n)
 {
 	if (!n->_name)
-		strcatf(&n->_name, CLR_RED("%s") "(" CLR_YEL("%s") ")", n->name, node_type_name(n->vt)));
+		strcatf(&n->_name, CLR_RED("%s") "(" CLR_YEL("%s") ")", n->name, node_type_name(n->_vt));
 
 	return n->_name;
 }
diff --git a/lib/nodes/file.c b/lib/nodes/file.c
index 4f499fa53..fad7f18b5 100644
--- a/lib/nodes/file.c
+++ b/lib/nodes/file.c
@@ -301,7 +301,7 @@ int file_read(struct node *n, struct sample *smps[], unsigned cnt, unsigned *rel
 	assert(cnt == 1);
 
 retry:	ret = io_scan(&f->io, smps, cnt);
-	if (ret = 0) {
+	if (ret <= 0) {
 		if (io_eof(&f->io)) {
 			switch (f->eof) {
 				case FILE_EOF_REWIND:
diff --git a/lib/super_node.c b/lib/super_node.c
index 79d9c9462..d04b2c0a1 100644
--- a/lib/super_node.c
+++ b/lib/super_node.c
@@ -449,7 +449,7 @@ int super_node_stop(struct super_node *sn)
 		if (p->type == PLUGIN_TYPE_NODE) {
 			ret = node_type_stop(&p->node);
 			if (ret)
-				error("Failed to stop node-type: %s", node_type_name(p));
+				error("Failed to stop node-type: %s", node_type_name(&p->node));
 		}
 	}