diff --git a/core/includes/path.inc b/core/includes/path.inc
index fc7f5fb..b0cc2fe 100644
--- a/core/includes/path.inc
+++ b/core/includes/path.inc
@@ -96,20 +96,3 @@ function path_is_admin($path) {
     return FALSE;
   }
 }
-
-/**
- * Checks a path exists and the current user has access to it.
- *
- * @param string $path
- *   The path to check.
- *
- * @return bool
- *   TRUE if it is a valid path AND the current user has access permission,
- *   FALSE otherwise.
- *
- * @deprecated Use \Drupal::service('path.validator')->isValid($path) service
- *   instead.
- */
-function drupal_valid_path($path) {
-  return \Drupal::service('path.validator')->isValid($path);
-}
diff --git a/core/modules/path/src/Form/PathFormBase.php b/core/modules/path/src/Form/PathFormBase.php
index 62df767..aa0433c 100644
--- a/core/modules/path/src/Form/PathFormBase.php
+++ b/core/modules/path/src/Form/PathFormBase.php
@@ -12,6 +12,7 @@
 use Drupal\Core\Language\LanguageInterface;
 use Drupal\Core\Path\AliasManagerInterface;
 use Drupal\Core\Path\AliasStorageInterface;
+use Drupal\Core\Path\PathValidatorInterface;
 use Symfony\Component\DependencyInjection\ContainerInterface;
 
 /**
@@ -41,16 +42,26 @@
   protected $aliasManager;
 
   /**
+   * The path validator.
+   *
+   * @var \Drupal\Core\Path\PathValidatorInterface
+   */
+  protected $pathValidator;
+
+  /**
    * Constructs a new PathController.
    *
    * @param \Drupal\Core\Path\AliasStorageInterface $alias_storage
    *   The path alias storage.
    * @param \Drupal\Core\Path\AliasManagerInterface $alias_manager
    *   The path alias manager.
+   * @param \Drupal\Core\Path\PathValidatorInterface $path_validator
+   *   The path validator.
    */
-  public function __construct(AliasStorageInterface $alias_storage, AliasManagerInterface $alias_manager) {
+  public function __construct(AliasStorageInterface $alias_storage, AliasManagerInterface $alias_manager, PathValidatorInterface $path_validator) {
     $this->aliasStorage = $alias_storage;
     $this->aliasManager = $alias_manager;
+    $this->pathValidator = $path_validator;
   }
 
   /**
@@ -59,7 +70,8 @@ public function __construct(AliasStorageInterface $alias_storage, AliasManagerIn
   public static function create(ContainerInterface $container) {
     return new static(
       $container->get('path.alias_storage'),
-      $container->get('path.alias_manager')
+      $container->get('path.alias_manager'),
+      $container->get('path.validator')
     );
   }
 
@@ -146,7 +158,7 @@ public function validateForm(array &$form, FormStateInterface $form_state) {
     if ($this->aliasStorage->aliasExists($alias, $langcode, $source)) {
       $form_state->setErrorByName('alias', t('The alias %alias is already in use in this language.', array('%alias' => $alias)));
     }
-    if (!drupal_valid_path($source)) {
+    if (!$this->pathValidator->isValid($source)) {
       $form_state->setErrorByName('source', t("The path '@link_path' is either invalid or you do not have access to it.", array('@link_path' => $source)));
     }
   }
diff --git a/core/modules/system/src/Form/SiteInformationForm.php b/core/modules/system/src/Form/SiteInformationForm.php
index fea627f..d8328df 100644
--- a/core/modules/system/src/Form/SiteInformationForm.php
+++ b/core/modules/system/src/Form/SiteInformationForm.php
@@ -11,6 +11,7 @@
 use Drupal\Core\Form\FormStateInterface;
 use Drupal\Core\Path\AliasManagerInterface;
 use Drupal\Core\Form\ConfigFormBase;
+use Drupal\Core\Path\PathValidatorInterface;
 use Symfony\Component\DependencyInjection\ContainerInterface;
 
 /**
@@ -26,17 +27,27 @@ class SiteInformationForm extends ConfigFormBase {
   protected $aliasManager;
 
   /**
+   * The path validator.
+   *
+   * @var \Drupal\Core\Path\PathValidatorInterface
+   */
+  protected $pathValidator;
+
+  /**
    * Constructs a SiteInformationForm object.
    *
    * @param \Drupal\Core\Config\ConfigFactoryInterface $config_factory
    *   The factory for configuration objects.
    * @param \Drupal\Core\Path\AliasManagerInterface $alias_manager
    *   The path alias manager.
+   * @param \Drupal\Core\Path\PathValidatorInterface $path_validator
+   *   The path validator.
    */
-  public function __construct(ConfigFactoryInterface $config_factory, AliasManagerInterface $alias_manager) {
+  public function __construct(ConfigFactoryInterface $config_factory, AliasManagerInterface $alias_manager, PathValidatorInterface $path_validator) {
     parent::__construct($config_factory);
 
     $this->aliasManager = $alias_manager;
+    $this->pathValidator = $path_validator;
   }
 
   /**
@@ -45,7 +56,8 @@ public function __construct(ConfigFactoryInterface $config_factory, AliasManager
   public static function create(ContainerInterface $container) {
     return new static(
       $container->get('config.factory'),
-      $container->get('path.alias_manager')
+      $container->get('path.alias_manager'),
+      $container->get('path.validator')
     );
   }
 
@@ -143,7 +155,7 @@ public function validateForm(array &$form, FormStateInterface $form_state) {
       form_set_value($form['front_page']['site_frontpage'], $this->aliasManager->getPathByAlias($form_state->getValue('site_frontpage')), $form_state);
     }
     // Validate front page path.
-    if (!drupal_valid_path($form_state->getValue('site_frontpage'))) {
+    if (!$this->pathValidator->isValid($form_state->getValue('site_frontpage'))) {
       $form_state->setErrorByName('site_frontpage', $this->t("The path '%path' is either invalid or you do not have access to it.", array('%path' => $form_state->getValue('site_frontpage'))));
     }
     // Get the normal paths of both error pages.
@@ -154,11 +166,11 @@ public function validateForm(array &$form, FormStateInterface $form_state) {
       form_set_value($form['error_page']['site_404'], $this->aliasManager->getPathByAlias($form_state->getValue('site_404')), $form_state);
     }
     // Validate 403 error path.
-    if (!$form_state->isValueEmpty('site_403') && !drupal_valid_path($form_state->getValue('site_403'))) {
+    if (!$form_state->isValueEmpty('site_403') && !$this->pathValidator->isValid($form_state->getValue('site_403'))) {
       $form_state->setErrorByName('site_403', $this->t("The path '%path' is either invalid or you do not have access to it.", array('%path' => $form_state->getValue('site_403'))));
     }
     // Validate 404 error path.
-    if (!$form_state->isValueEmpty('site_404') && !drupal_valid_path($form_state->getValue('site_404'))) {
+    if (!$form_state->isValueEmpty('site_404') && !$this->pathValidator->isValid($form_state->getValue('site_404'))) {
       $form_state->setErrorByName('site_404', $this->t("The path '%path' is either invalid or you do not have access to it.", array('%path' => $form_state->getValue('site_404'))));
     }
 
