diff --git a/core/modules/views/lib/Drupal/views/Plugin/views/field/FieldPluginBase.php b/core/modules/views/lib/Drupal/views/Plugin/views/field/FieldPluginBase.php
index 5d10b4fbbb19a6f92f2b742f8dc701cadb50c5f6..8d6fe061d04323f7c91c97faa6f3d3b01cfc5511 100644
--- a/core/modules/views/lib/Drupal/views/Plugin/views/field/FieldPluginBase.php
+++ b/core/modules/views/lib/Drupal/views/Plugin/views/field/FieldPluginBase.php
@@ -1482,9 +1482,6 @@ function get_render_tokens($item) {
       else {
         $tokens["[$field]"] = '';
       }
-      if (!empty($item)) {
-        $this->add_self_tokens($tokens, $item);
-      }
 
       // We only use fields up to (and including) this one.
       if ($field == $this->options['id']) {
@@ -1495,6 +1492,9 @@ function get_render_tokens($item) {
     // Store the tokens for the row so we can reference them later if necessary.
     $this->view->style_plugin->render_tokens[$this->view->row_index] = $tokens;
     $this->last_tokens = $tokens;
+    if (!empty($item)) {
+      $this->add_self_tokens($tokens, $item);
+    }
 
     return $tokens;
   }