diff --git a/core/src/main/java/org/futo/circles/core/feature/markdown/mentions/plugin/MentionPlugin.kt b/core/src/main/java/org/futo/circles/core/feature/markdown/mentions/plugin/MentionPlugin.kt
index 2a2b1ff6b0f65ef42ef8398dde7c34cd09e06b45..c1c32b611d9ead352d83c42b2b4f8ed01720f51f 100644
--- a/core/src/main/java/org/futo/circles/core/feature/markdown/mentions/plugin/MentionPlugin.kt
+++ b/core/src/main/java/org/futo/circles/core/feature/markdown/mentions/plugin/MentionPlugin.kt
@@ -4,6 +4,7 @@ import android.content.Context
 import io.noties.markwon.AbstractMarkwonPlugin
 import io.noties.markwon.MarkwonVisitor
 import io.noties.markwon.SpannableBuilder
+import org.commonmark.node.Text
 import org.commonmark.parser.Parser
 import org.futo.circles.core.feature.markdown.span.MentionSpan
 
@@ -22,11 +23,9 @@ class MentionPlugin(private val context: Context) : AbstractMarkwonPlugin() {
         ) { visitor, simpleExtNode ->
             val start = visitor.length()
             visitor.visitChildren(simpleExtNode)
-            val name = visitor.builder().toString()
-            visitor.builder().apply {
-                clear()
-                append("@")
-            }
+            val name = (simpleExtNode.firstChild as Text).literal
+            val end = start + name.length
+            visitor.builder().spannableStringBuilder().replace(start, end, "@")
             SpannableBuilder.setSpans(
                 visitor.builder(),
                 MentionSpan(context, name),