diff --git a/graph.c b/graph.c
index 0dae510..2f00dab 100644
--- a/graph.c
+++ b/graph.c
@@ -690,20 +690,15 @@
 	x = malloc(sizeof(*x));
 	memset(x, 0, sizeof(*x));
 	x->value = value;
-	if (tooltip)
-		x->tooltip = strdup(tooltip);
-	else
-		x->tooltip = NULL;
 	x->next = NULL;
-	if (!i->tail) {
+	if (!i->tail)
 		i->values = x;
-	} else {
+	else
 		i->tail->next = x;
-	}
 	i->tail = x;
 	i->value_count++;
 
-	if (x->tooltip) {
+	if (tooltip) {
 		double yval = gety(x);
 		double miny = yval / TOOLTIP_DELTA;
 		double maxy = yval * TOOLTIP_DELTA;
@@ -720,11 +715,10 @@
 		 * should be identical, we can drop it
 		 */
 		ret = prio_tree_insert(&i->prio_tree, &x->node);
-		if (ret != &x->node) {
-			free(x->tooltip);
-			x->tooltip = NULL;
-		} else
+		if (ret == &x->node) {
+			x->tooltip = strdup(tooltip);
 			i->tooltip_count++;
+		}
 	}
 
 	if (i->parent->per_label_limit != -1 &&
