diff --git a/typo3/sysext/core/Classes/Routing/Enhancer/PluginEnhancer.php b/typo3/sysext/core/Classes/Routing/Enhancer/PluginEnhancer.php
index e76d210d10df12e1b7a071667769e81cf9f20994..7f23d13a313a089cd613d3e68061323559280181 100644
--- a/typo3/sysext/core/Classes/Routing/Enhancer/PluginEnhancer.php
+++ b/typo3/sysext/core/Classes/Routing/Enhancer/PluginEnhancer.php
@@ -85,6 +85,10 @@ class PluginEnhancer extends AbstractEnhancer implements RoutingEnhancerInterfac
 
         $page = $route->getOption('_page');
         $pageId = (int)($page['l10n_parent'] > 0 ? $page['l10n_parent'] : $page['uid']);
+        // See PageSlugCandidateProvider where this is added.
+        if ($page['MPvar'] ?? '') {
+            $routeArguments['MP'] = $page['MPvar'];
+        }
         $type = $this->resolveType($route, $remainingQueryParameters);
         return new PageArguments($pageId, $type, $routeArguments, $staticArguments, $remainingQueryParameters);
     }
diff --git a/typo3/sysext/core/Classes/Routing/Enhancer/SimpleEnhancer.php b/typo3/sysext/core/Classes/Routing/Enhancer/SimpleEnhancer.php
index 25e3511def4e6b13d3509f9c0122887d0db69a6e..c8c34899d42ac48a1ef1308146e1fad670210f6a 100644
--- a/typo3/sysext/core/Classes/Routing/Enhancer/SimpleEnhancer.php
+++ b/typo3/sysext/core/Classes/Routing/Enhancer/SimpleEnhancer.php
@@ -73,6 +73,10 @@ class SimpleEnhancer extends AbstractEnhancer implements RoutingEnhancerInterfac
 
         $page = $route->getOption('_page');
         $pageId = (int)($page['l10n_parent'] > 0 ? $page['l10n_parent'] : $page['uid']);
+        // See PageSlugCandidateProvider where this is added.
+        if ($page['MPvar'] ?? '') {
+            $routeArguments['MP'] = $page['MPvar'];
+        }
         $type = $this->resolveType($route, $remainingQueryParameters);
         return new PageArguments($pageId, $type, $routeArguments, $staticArguments, $remainingQueryParameters);
     }
diff --git a/typo3/sysext/core/Classes/Routing/PageRouter.php b/typo3/sysext/core/Classes/Routing/PageRouter.php
index 3bc665c0b0f980419fef3c83010d27740ec492fe..94f331e828a5dbd5cfee840678027fc934ccb34d 100644
--- a/typo3/sysext/core/Classes/Routing/PageRouter.php
+++ b/typo3/sysext/core/Classes/Routing/PageRouter.php
@@ -186,7 +186,13 @@ class PageRouter implements RouterInterface
                 }
             }
 
-            $pageCollection->addNamePrefix('page_' . $page['uid'] . '_');
+            $collectionPrefix = 'page_' . $page['uid'];
+            // Pages with a MountPoint Parameter means that they have a different context, and should be treated
+            // as a separate instance
+            if (isset($page['MPvar'])) {
+                $collectionPrefix .= '_MP_' . str_replace(',', '', $page['MPvar']);
+            }
+            $pageCollection->addNamePrefix($collectionPrefix . '_');
             $fullCollection->addCollection($pageCollection);
         }