diff --git a/core/modules/views/src/Plugin/views/field/FieldPluginBase.php b/core/modules/views/src/Plugin/views/field/FieldPluginBase.php
index d683ea7..d9f5919 100644
--- a/core/modules/views/src/Plugin/views/field/FieldPluginBase.php
+++ b/core/modules/views/src/Plugin/views/field/FieldPluginBase.php
@@ -1468,8 +1468,19 @@ protected function renderAsLink($alter, $text, $tokens) {
       $options['entity_type'] = $alter['entity_type'];
     }
 
-    // The path has been heavily processed above, so it should be used as-is.
-    $final_url = CoreUrl::fromUri($path, $options);
+    // Check to see if we have a routable path, so path processors run,
+    // otherise use is as-is.
+    if ($i = strpos($path, 'base:') === 0) {
+      if (!$final_url = \Drupal::pathValidator()->getUrlIfValidWithoutAccessCheck(substr($url['path'], 5))) {
+        $final_url = CoreUrl::fromUri($path, $options);
+      }
+      else {
+        $final_url->setOptions($options);
+      }
+    }
+    else {
+      $final_url = CoreUrl::fromUri($path, $options);
+    }
 
     // Build the link based on our altered Url object, adding on the optional
     // prefix and suffix
