diff --git a/src/routes/song/[slug]/+page.svelte b/src/routes/song/[slug]/+page.svelte
index 054ffca..c723641 100644
--- a/src/routes/song/[slug]/+page.svelte
+++ b/src/routes/song/[slug]/+page.svelte
@@ -24,7 +24,7 @@
let settings = $state(data.user.data?.typingSettings ?? typingSettingsDefault)
$effect(() => { saveUserData({ typingSettings: settings }) })
const _preprocessKana = (kana: string) => settings.allKata ? toKatakana(kana) : kana
- const preprocessKana = (kana: string) => settings.showRomaji ? `${_preprocessKana(kana)}` : _preprocessKana(kana)
+ const preprocessKana = (kana: string, state?: string) => (settings.showRomaji || state === 'wrong') ? `${_preprocessKana(kana)}` : _preprocessKana(kana)
// Process each line into segments with swi (start word index) and kanji/kana
type ProcLrcSeg = { swi: number, kanji?: string, kana: string }
@@ -149,13 +149,13 @@
{#each line.parts as seg}
{#if !seg.kanji}
{#each seg.kana as char, c}
- {@html preprocessKana(char)}
+ {@html preprocessKana(char, states[l][seg.swi + c])}
{/each}
{:else}
{seg.kanji}{#if settings.isFuri}{/if}