diff --git a/uuid_link.module b/uuid_link.module
index abe5e82..77b72a1 100644
--- a/uuid_link.module
+++ b/uuid_link.module
@@ -104,7 +104,7 @@ function uuid_link_get_link_type_name() {
  */
 function uuid_link_token_info() {
   $type = array(
-    'name' => t('UUID Link'), 
+    'name' => t('UUID Link'),
     'description' => t('UUID Link tokens.'),
     'needs-data' => 'uuid-link',
   );
@@ -113,14 +113,14 @@ function uuid_link_token_info() {
   $tokens = array();
   foreach ($entity_types as $entity_type => $entity_type_info) {
     $tokens[$entity_type] = array(
-      'name' => t('UUID Link @entity', array('@entity' => $entity_type_info['label'])), 
+      'name' => t('UUID Link @entity', array('@entity' => $entity_type_info['label'])),
       'description' => t('Translates into an URL to the @entity entity matching the UUID.', array('@entity' => $entity_type_info['label'])),
       'dynamic' => TRUE,
     );
   }
 
   return array(
-    'types' => array('uuid-link' => $type), 
+    'types' => array('uuid-link' => $type),
     'tokens' => array('uuid-link' => $tokens),
   );
 }
@@ -158,7 +158,11 @@ function uuid_link_tokens($type, $tokens, array $data = array(), array $options
             ->fetchObject();
 
           if (!empty($dummy_node)) {
-            $replacements[$original] = _uuid_link_entity_url(node_uri($dummy_node), $dummy_node);
+            $path = node_uri($dummy_node);
+            $url_options = array(
+              'language' => $options['language'],
+            );
+            $replacements[$original] = url($path['path'], $url_options);
             continue;
           }
         }
@@ -255,7 +259,11 @@ function uuid_link_filter_info() {
 function uuid_link_filter_process($text, $filter, $format, $langcode, $cache, $cache_id) {
   // Replace uuid-link tokens tokens.
   $data = array('uuid-link' => array());
-  $text = token_replace($text, $data);
+  $languages = language_list();
+  $options = array(
+    'language' => $languages[$langcode],
+  );
+  $text = token_replace($text, $data, $options);
 
   // Remove tags for links to content that no longer exists. Check the existence
   // of the #uuid-link-not-found before doing this expensive job.
@@ -283,7 +291,7 @@ function uuid_link_filter_process($text, $filter, $format, $langcode, $cache, $c
 function uuid_link_autocomplete($type, $string = '') {
   $matches = array();
   $entity_type = entity_get_info($type);
-  if (!empty($string) && !empty($entity_type['entity keys']['label'])) { 
+  if (!empty($string) && !empty($entity_type['entity keys']['label'])) {
     $label_key = $entity_type['entity keys']['label'];
     $query = new EntityFieldQuery();
     $query->entityCondition('entity_type', $type)
