diff --git a/src/sview/node_info.c b/src/sview/node_info.c
index 51ee8d83d10a02e99365841e8c9def37d6a3dbc7..dba25f728dec11b01829069279919213fbbca93d 100644
--- a/src/sview/node_info.c
+++ b/src/sview/node_info.c
@@ -407,6 +407,7 @@ static void _update_info_node(List info_list, GtkTreeView *tree_view)
 {
 	GtkTreePath *path = gtk_tree_path_new_first();
 	GtkTreeModel *model = gtk_tree_view_get_model(tree_view);
+	static GtkTreeModel *last_model = NULL;
 	GtkTreeIter iter;
 	node_info_t *node_ptr = NULL;
 	char *name;
@@ -428,6 +429,12 @@ static void _update_info_node(List info_list, GtkTreeView *tree_view)
 	itr = list_iterator_create(info_list);
 	while ((sview_node_info = (sview_node_info_t*) list_next(itr))) {
 		node_ptr = sview_node_info->node_ptr;
+
+		/* This means the tree_store changed (added new column
+		   or something). */
+		if (last_model != model)
+			sview_node_info->iter_set = false;
+
 		if (sview_node_info->iter_set) {
 			gtk_tree_model_get(model, &sview_node_info->iter_ptr,
 					   SORTID_NAME, &name, -1);
@@ -452,6 +459,8 @@ static void _update_info_node(List info_list, GtkTreeView *tree_view)
        	gtk_tree_path_free(path);
 	/* remove all old nodes */
 	remove_old(model, SORTID_UPDATED);
+	if (last_model != model)
+		last_model = model;
 }
 
 static void _node_info_list_del(void *object)