diff --git a/core/modules/views/src/Plugin/views/field/FieldPluginBase.php b/core/modules/views/src/Plugin/views/field/FieldPluginBase.php
index d683ea7..e20a2a6 100644
--- a/core/modules/views/src/Plugin/views/field/FieldPluginBase.php
+++ b/core/modules/views/src/Plugin/views/field/FieldPluginBase.php
@@ -1468,8 +1468,12 @@ 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 (!($final_url = \Drupal::pathValidator()->getUrlIfValidWithoutAccessCheck($url['path']))) {
+      $final_url = CoreUrl::fromUri($path);
+    }
+    $final_url->setOptions($options);
 
     // Build the link based on our altered Url object, adding on the optional
     // prefix and suffix
