diff --git a/core/modules/views/src/Plugin/views/display/DisplayPluginBase.php b/core/modules/views/src/Plugin/views/display/DisplayPluginBase.php
index 12eeb7b..3c2388a 100644
--- a/core/modules/views/src/Plugin/views/display/DisplayPluginBase.php
+++ b/core/modules/views/src/Plugin/views/display/DisplayPluginBase.php
@@ -5,6 +5,7 @@
 use Drupal\Component\Plugin\DependentPluginInterface;
 use Drupal\Component\Utility\Html;
 use Drupal\Component\Utility\SafeMarkup;
+use Drupal\Component\Utility\UrlHelper;
 use Drupal\Core\Cache\Cache;
 use Drupal\Core\Cache\CacheableMetadata;
 use Drupal\Core\Cache\CacheableDependencyInterface;
@@ -2097,6 +2098,22 @@ public function renderMoreLink() {
         if (!empty($this->view->exposed_raw_input)) {
           $url_options['query'] = $this->view->exposed_raw_input;
         }
+
+        $options = $url->getOptions();
+        // Preserve the query string from url.
+        if (!empty($options['query'])) {
+          if (!empty($url_options['query'])) {
+            $url_options['query'] = array_merge($options['query'], $url_options['query']);
+          }
+          else {
+            $url_options['query'] = $options['query'];
+          }
+          $url_options['query'] = array_combine(str_replace('amp;','', array_keys($url_options['query'])), array_values($url_options['query']));
+        }
+        // Add fragment if applicable.
+        if (!empty($options['fragment'])) {
+          $url_options['fragment'] = $options['fragment'];
+        }
+
         $url->setOptions($url_options);
 
         return array(
