diff --git a/simplenews.module b/simplenews.module
index a64d6f7..12c5490 100644
--- a/simplenews.module
+++ b/simplenews.module
@@ -2530,7 +2530,7 @@ function simplenews_tokens($type, $tokens, $data = array(), $options = array())
     case 'simplenews-subscriber':
       $account = $data['account'];
       $category = $data['category'];
-      $language = isset($account->language->language) ? $account->language->language : language_default()->language;
+      $language = isset($account->language->language) ? $account->language : user_preferred_language($account);
 
       // Build hash for the URL of the (un)subscribe confirmation page.
       $hash = '';
