Index: uspace/app/bithenge/expression.c
===================================================================
--- uspace/app/bithenge/expression.c	(revision 78d3a00170996ffa6956bba73edd383691261969)
+++ uspace/app/bithenge/expression.c	(revision 3f2ea63c619ab44f9e608723b60b298eb25be3c7)
@@ -285,17 +285,22 @@
 	int rc;
 	const_expression_t *self = malloc(sizeof(*self));
-	if (!self)
-		return ENOMEM;
+	if (!self) {
+		rc = ENOMEM;
+		goto error;
+	}
 
 	rc = bithenge_init_expression(const_as_expression(self),
 	    &const_expression_ops);
-	if (rc != EOK) {
-		free(self);
-		return rc;
-	}
+	if (rc != EOK)
+		goto error;
 
 	self->node = node;
 	*out = const_as_expression(self);
 	return EOK;
+
+error:
+	free(self);
+	bithenge_node_dec_ref(node);
+	return rc;
 }
 
