diff --git a/core/lib/Drupal/Core/Routing/PathMatcher.php b/core/lib/Drupal/Core/Routing/PathMatcher.php
index a5f007c804be4b405e627e40b90db06016026acf..a1ef5f71f5060eff50e63226d4a876fea23c2570 100644
--- a/core/lib/Drupal/Core/Routing/PathMatcher.php
+++ b/core/lib/Drupal/Core/Routing/PathMatcher.php
@@ -57,7 +57,10 @@ public function matchRequestPartial(Request $request) {
 
     $collection = new RouteCollection();
     foreach ($routes as $name => $route) {
-      $collection->add($name, unserialize($route));
+      $route = unserialize($route);
+      if (preg_match($route->compile()->getRegex(), $path, $matches)) {
+        $collection->add($name, $route);
+      }
     }
 
     if (!count($collection->all())) {