diff --git a/html.c b/html.c
index de054cb..45bea06 100644
--- a/html.c
+++ b/html.c
@@ -367,7 +367,13 @@ d_char *build_mentions(snac *snac, char *msg)
if (type && strcmp(type, "Mention") == 0 &&
href && strcmp(href, snac->actor) != 0 && name) {
- if (name[0] != '@') name = xs_str_cat(xs_str_new("@"), name);
+ xs *s1 = NULL;
+
+ if (name[0] != '@') {
+ s1 = xs_fmt("@%s", name);
+ name = s1;
+ }
+
xs *l = xs_split(name, "@");
/* is it a name without a host? */