diff --git a/language_cookie.module b/language_cookie.module
index 24a9abd..a9c3606 100644
--- a/language_cookie.module
+++ b/language_cookie.module
@@ -13,8 +13,9 @@ define('LANGUAGE_COOKIE_NEGOTIATION', 'language_cookie');
  * Implements hook_init().
  */
 function language_cookie_init() {
+  global $language;
   $param = variable_get('language_cookie_param', 'language');
-  if (!isset($_COOKIE[$param]) && function_exists('language_negotiation_get_any') && language_negotiation_get_any(LANGUAGE_COOKIE_NEGOTIATION)) {
+  if ((!isset($_COOKIE[$param]) || (isset($_COOKIE[$param]) && $_COOKIE[$param] != $language->language)) && function_exists('language_negotiation_get_any') && language_negotiation_get_any(LANGUAGE_COOKIE_NEGOTIATION)) {
     language_cookie_set();
   }
 }
