diff --git a/core/lib/Drupal/Core/Utility/token.api.php b/core/lib/Drupal/Core/Utility/token.api.php
index 56d8f3a..92f9261 100644
--- a/core/lib/Drupal/Core/Utility/token.api.php
+++ b/core/lib/Drupal/Core/Utility/token.api.php
@@ -75,12 +75,10 @@ function hook_tokens($type, $tokens, array $data, array $options, \Drupal\Core\R
   $token_service = \Drupal::token();
 
   $url_options = array('absolute' => TRUE);
-  if (isset($options['langcode'])) {
-    $url_options['language'] = \Drupal::languageManager()->getLanguage($options['langcode']);
-    $langcode = $options['langcode'];
-  }
-  else {
-    $langcode = NULL;
+  $langcode = $options['langcode'] ?: NULL;
+  if ($langcode) {
+    $language = \Drupal::languageManager()->getLanguage($langcode);
+    $url_options['language'] = $language;
   }
   $replacements = array();
 
@@ -150,13 +148,10 @@ function hook_tokens($type, $tokens, array $data, array $options, \Drupal\Core\R
  */
 function hook_tokens_alter(array &$replacements, array $context, \Drupal\Core\Render\BubbleableMetadata $bubbleable_metadata) {
   $options = $context['options'];
-
-  if (isset($options['langcode'])) {
-    $url_options['language'] = \Drupal::languageManager()->getLanguage($options['langcode']);
-    $langcode = $options['langcode'];
-  }
-  else {
-    $langcode = NULL;
+  $langcode = $options['langcode'] ?: NULL;
+  if ($langcode) {
+    $language = \Drupal::languageManager()->getLanguage($langcode);
+    $url_options['language'] = $language;
   }
 
   if ($context['type'] == 'node' && !empty($context['data']['node'])) {
