diff --git a/globalredirect.module b/globalredirect.module
index 961c1ce..2ada447 100644
--- a/globalredirect.module
+++ b/globalredirect.module
@@ -167,15 +167,19 @@ function globalredirect_init() {
       case LOCALE_LANGUAGE_NEGOTIATION_URL_DOMAIN:
         // Let's check is there other languages on site.
         $all_languages = language_list();
+        // First we should get alias for current language.
+        $current_alias = drupal_get_path_alias($current_path);
         if (count($all_languages) > 1) {
-          foreach ($all_languages as $l => $lang) {
+          foreach ($all_languages as $lang) {
             // Only test for languages other than the current one.
             if ($lang->language != $language->language) {
               $alias = drupal_get_path_alias($current_path, $lang->language);
-              // There is a matching language for this alias
-              if ($alias != $current_path) {
+              // There is a matching language for this alias.
+              if ($alias != $current_alias) {
                 if (isset($lang->domain)) {
-                  drupal_goto($lang->domain . '/' . $alias, $options, 301);
+                  // URL is extenal so we have to change this option to TRUE.
+                  $options['external'] = TRUE;
+                  drupal_goto('http://' . $lang->domain . '/' . $alias, $options, 301);
                 }
                 break;
               }
