diff --git a/src/components/LanguageButton.vue b/src/components/LanguageButton.vue
index 87e8321de2bf1207233b88e43887ca8a52540efa..a4f8e5197c8f5b90c5c73ccda906a2787211234a 100644
--- a/src/components/LanguageButton.vue
+++ b/src/components/LanguageButton.vue
@@ -43,9 +43,11 @@ function switchLanguage(lang) {
 watch(
   () => route.params.lang,
   (newLang) => {
+    // Update selectedLanguage to match route change
+    selectedLanguage.value = newLang;
+    // if locale.value does not match newLang, also update it
     if (newLang && locale.value !== newLang) {
       locale.value = newLang;
-      selectedLanguage.value = newLang;
     }
   },
   { immediate: true }