diff --git a/src/Plugin/Preprocess/BootstrapDropdown.php b/src/Plugin/Preprocess/BootstrapDropdown.php
index c5c083a..85c11e5 100644
--- a/src/Plugin/Preprocess/BootstrapDropdown.php
+++ b/src/Plugin/Preprocess/BootstrapDropdown.php
@@ -54,6 +54,13 @@ class BootstrapDropdown extends PreprocessBase implements PreprocessInterface {
       // Normal dropbutton links are not actually render arrays, convert them.
       foreach ($variables->links as &$link) {
         if (isset($link['title']) && $link['url']) {
+          // Preserve query parameters (if any)
+          if (!empty($link['query'])) {
+            $url_query = $link['url']->getOption('query');
+            $link['url']->setOption('query', ($url_query ?: []) + $link['query']);
+          }
+
+          // Build render array.
           $link = [
             '#type' => 'link',
             '#title' => $link['title'],
