diff --git a/vendor/magento/module-versions-cms/Model/CurrentNodeResolver.php b/vendor/magento/module-versions-cms/Model/CurrentNodeResolver.php
index a5e63603fbe1..5a4ba3b137db 100644
--- a/vendor/magento/module-versions-cms/Model/CurrentNodeResolver.php
+++ b/vendor/magento/module-versions-cms/Model/CurrentNodeResolver.php
@@ -80,9 +80,11 @@ public function __construct(
      */
     public function get(RequestInterface $request)
     {
-        $pageId = $request->getParam('page_id', false);
-
-        if (!isset($this->nodesPool[$pageId])) {
+        $nodeIdentifier = $pageId = $request->getParam('page_id', false);
+        if (method_exists($request, 'getPathInfo')) {
+            $nodeIdentifier = $requestUrl = trim($request->getPathInfo(), '/');
+        }
+        if (!isset($this->nodesPool[$nodeIdentifier])) {
             /*
              * Define actual node scope, scope_id values
              */
@@ -110,14 +112,15 @@ public function get(RequestInterface $request)
             /*
              * Retrieve node object by request_url value
              */
-            if (isset($nodes[0]) && isset($nodes[0]['request_url'])) {
-                $node->loadByRequestUrl($nodes[0]['request_url']);
-                $this->nodesPool[$pageId] = $node->getId() ? $node : null;
+            $itemId = isset($requestUrl) ? (int)array_search($requestUrl, array_column($nodes, 'request_url')) : 0;
+            if (isset($nodes[$itemId]['request_url'])) {
+                $node->loadByRequestUrl($nodes[$itemId]['request_url']);
+                $this->nodesPool[$nodeIdentifier] = $node->getId() ? $node : null;
             } else {
-                $this->nodesPool[$pageId] = null;
+                $this->nodesPool[$nodeIdentifier] = null;
             }
         }

-        return $this->nodesPool[$pageId];
+        return $this->nodesPool[$nodeIdentifier];
     }
 }
