I have had this issue a lot (changes to Spanish, English, German and Swahili) after spending some time on the logs, turns out that it happens because the user uses some word that is "borrowed" from one of this languages but is common on the other. (e.g. "I'm flying solo" would switch from English to Spanish) the only way so far I have been able to fix this is to set the language again at the nodes where this was happening (so where the user might enter random phrases for instance). It's not ideal, but so far it has worked wonders