diff --git a/TTS/melo_handler.py b/TTS/melo_handler.py
index 0a86881d1fe5767c504165d7adf9d7ad59dfe040..f05545a31d246e7ac0af813115c00d1316ccb621 100644
--- a/TTS/melo_handler.py
+++ b/TTS/melo_handler.py
@@ -62,9 +62,12 @@ class MeloTTSHandler(BaseHandler):
         console.print(f"[green]ASSISTANT: {llm_sentence}")
 
         if language_id is not None and self.language != language_id:
-            self.language = language_id
-            self.model = TTS(language=WHISPER_LANGUAGE_TO_MELO_LANGUAGE[self.language], device=self.device)
-            self.speaker_id = self.model.hps.data.spk2id[WHISPER_LANGUAGE_TO_MELO_SPEAKER[self.language]]
+            try:
+                self.model = TTS(language=WHISPER_LANGUAGE_TO_MELO_LANGUAGE[language_id], device=self.device)
+                self.speaker_id = self.model.hps.data.spk2id[WHISPER_LANGUAGE_TO_MELO_SPEAKER[language_id]]
+                self.language = language_id
+            except KeyError:
+                console.print(f"[red]Language {language_id} not supported by Melo. Using {self.language} instead.")
 
         if self.device == "mps":
             import time