diff --git a/src/Plugin/ComplexSettingTypeBase.php b/src/Plugin/ComplexSettingTypeBase.php
index 9402abbbad73dc65039b9b9c5777023e03e40fd9..ead5ac24abeba09214f6d6f9a7c4775e74123b7a 100644
--- a/src/Plugin/ComplexSettingTypeBase.php
+++ b/src/Plugin/ComplexSettingTypeBase.php
@@ -95,7 +95,7 @@ abstract class ComplexSettingTypeBase extends PatternSettingTypeBase implements
       $this->provider = $instance;
       return $instance->getData($value['configuration'][$provider_id]['config'] ?? []);
     }
-    return [];
+    return $value;
   }
 
   /**
diff --git a/src/Plugin/UiPatterns/SettingType/LinksSettingType.php b/src/Plugin/UiPatterns/SettingType/LinksSettingType.php
index 79b227bbc683987df2732f9a314d1c247b1017b0..083fb608f865d7fa7c27451d45deb70215243c28 100644
--- a/src/Plugin/UiPatterns/SettingType/LinksSettingType.php
+++ b/src/Plugin/UiPatterns/SettingType/LinksSettingType.php
@@ -2,6 +2,8 @@
 
 namespace Drupal\ui_patterns_settings\Plugin\UiPatterns\SettingType;
 
+use Drupal\Core\Template\Attribute;
+use Drupal\Core\Url;
 use Drupal\ui_patterns_settings\Plugin\ComplexSettingTypeBase;
 
 /**
@@ -51,15 +53,7 @@ class LinksSettingType extends ComplexSettingTypeBase {
         $item["url"]->setOptions($item["link"]["#options"]);
         unset($item["link"]);
       }
-      if (array_key_exists("url", $item) && ($item["url"] instanceof Url)) {
-        // Examples: menu.html.twig, links.html.twig.
-        $url = $item["url"];
-        $item["url"] = $url->toString();
-        $options = $url->getOptions();
-        if (isset($options["attributes"])) {
-          $item["link_attributes"] = new Attribute($options["attributes"]);
-        }
-      }
+      $item = self::normalizeUrl($item);
       if (array_key_exists("below", $item)) {
         $item["below"] = self::normalize($item["below"]);
       }
@@ -69,67 +63,32 @@ class LinksSettingType extends ComplexSettingTypeBase {
   }
 
   /**
-   * Convert pager to menu.
-   *
-   * Convert pager data structure to menu data structure. Useful for
-   * pager.html.twig presenter template.
+   * Normaize URL in an item.
    *
-   * @param array $items
-   *   The pager items to convert.
-   * @param int $current
-   *   The current page.
-   *
-   * @return array
+   * Useful for: menu.html.twig, links.html.twig.
    */
-  public static function convertPagerToMenu(array $pager, int $current): array {
-    $items = [];
-    if (isset($pager["first"])) {
-      $items[] = $pager["first"];
+  private static function normalizeUrl(array $item): array {
+    if (!array_key_exists("url", $item)) {
+      return $item;
     }
-    if (isset($pager["previous"])) {
-      $items[] = $pager["previous"];
+    $url = $item["url"];
+    if (!($url instanceof Url)) {
+      return $item;
     }
-    if (isset($pager["pages"])) {
-      foreach ($pager["pages"] as $index => $item) {
-        $item["text"] = $index;
-        if ($index == $current) {
-          unset($item["href"]);
-        }
-        $items[] = $item;
-      }
-    }
-    if (isset($pager["next"])) {
-      $items[] = $pager["next"];
+    if ($url->isRouted() && ($url->getRouteName() === '<nolink>')) {
+      unset($item["url"]);
     }
-    if (isset($pager["last"])) {
-      $items[] = $pager["last"];
+    elseif ($url->isRouted() && ($url->getRouteName() === '<button>')) {
+      unset($item["url"]);
     }
-    return $items;
-  }
-
-  /**
-   * Convert mini pager to menu.
-   *
-   * Convert views mini pager data structure to menu data structure. Useful for
-   * views-mini-pager.html.twig presenter template.
-   *
-   * @param array $items
-   *   The pager items to convert.
-   *
-   * @return array
-   */
-  public static function convertMiniPagerToMenu(array $pager): array {
-    $items = [];
-    if ($pager["previous"]) {
-      $items[] = $pager["previous"];
+    else {
+      $item["url"] = $url->toString();
     }
-    $items[] = [
-      "text" => $pager["current"],
-    ];
-    if ($pager["next"]) {
-      $items[] = $pager["next"];
+    $options = $url->getOptions();
+    if (isset($options["attributes"])) {
+      $item["link_attributes"] = new Attribute($options["attributes"]);
     }
-    return $items;
+    return $item;
   }
 
 }