diff --git a/local/alpha/config/vufind/Amsl.ini b/local/alpha/config/vufind/Amsl.ini
new file mode 100644
index 0000000000000000000000000000000000000000..b4a7fac931970063535f138f7ca309b643f888bd
--- /dev/null
+++ b/local/alpha/config/vufind/Amsl.ini
@@ -0,0 +1,27 @@
+;####################################################################
+;##################### DO NOT DELETE THIS HEADER ####################
+;################### Leipzig University Library © 2020 ##############
+;
+; This is the default ALPHA-INI-file and inherits
+; all the settings from the INI-file defined in [Parent_Config] which
+; points to the default INI-file located in the folder vufind2/local
+;
+
+[Parent_Config]
+relative_path = ../../../config/vufind/Amsl.ini
+
+; A comma-separated list of config sections from the parent which should be
+; completely overwritten by the equivalent sections in this configuration;
+; any sections not listed here will be merged on a section-by-section basis.
+;override_full_sections = "Languages,AlphaBrowse_Types"
+
+;
+;       Add ALPHA-specific customization after this header.
+;
+;##################### DO NOT DELETE THIS HEADER ####################
+;####################################################################
+
+[API]
+; no caching for alpha
+;ttl = 0
+
diff --git a/local/config/vufind/Amsl.ini b/local/config/vufind/Amsl.ini
new file mode 100644
index 0000000000000000000000000000000000000000..5e792d512a788aae43165b599cac1551b5c43a1f
--- /dev/null
+++ b/local/config/vufind/Amsl.ini
@@ -0,0 +1,39 @@
+;####################################################################
+;##################### DO NOT DELETE THIS HEADER ####################
+;################### Leipzig University Library © 2020 ##############
+;
+; This is the ISIL-instance-specific default INI-file
+; for the configuration of the Amsl API
+;
+
+[API]
+;url = "https://live.amsl.technology/inhouseservices/list?do=catalog_metadataList&isil=ISIL"
+response_type = 'application/json'
+; max caching in seconds
+; standard is 86400 i.e. one week
+ttl = 86400
+
+; Contains label patterns for two layers of source hierarchy
+; these will normally be source and collection represented by main_label and sub_label, resp.
+; use array_keys in double percent signs to be rendered in the labels
+; the main label MUST contain the main key and the main key SHOULD identify the source
+; same for the sub key and label
+[Mapping]
+main_key = 'source_id'
+main_label = '%%source_label%%'
+sortBySourceLabel = true
+default_main_label = 'untitled source'
+sub_key = 'collection_label'
+sub_label = '%%collection_label%%'
+default_sub_label = 'untitled collection'
+show_link = true
+; show_description can be api, local or false
+; api or true displays entry from AMSL-API as defined in sub_description_key
+; local displays entry from local translation file
+; false does not show a description
+show_description = false
+;sub_description_key = 'collection_description'
+
+[MisspelledResources]
+; wrong collection label = correct collection label for links
+; "" means no link
\ No newline at end of file
diff --git a/module/finc/src/finc/ILS/Driver/FincLibero.php b/module/finc/src/finc/ILS/Driver/FincLibero.php
index 3448b5bb62a77bd84c8fbf06ac983086bb4d8831..47858569991c924390ac3219cd9404ccf99f8054 100644
--- a/module/finc/src/finc/ILS/Driver/FincLibero.php
+++ b/module/finc/src/finc/ILS/Driver/FincLibero.php
@@ -384,6 +384,7 @@ class FincLibero extends FincILS implements TranslatorAwareInterface
     protected function getCustomData($item)
     {
         $customData = [];
+        $customData['pickUpLocations'] = [];
         foreach (['available', 'unavailable'] as $availability) {
             if (isset($item[$availability])) {
                 foreach ($item[$availability] as $available) {
@@ -398,17 +399,20 @@ class FincLibero extends FincILS implements TranslatorAwareInterface
                         ) {
                             // if we have limitations qualifying for pickUpLocations,
                             // save those in customData
-                            $customData['pickUpLocations'] = $pickUpLocations;
-                        } elseif (!isset($customData['pickUpLocations']) && isset($item['department'])) {
+                            $customData['pickUpLocations'] = array_merge(
+                                $customData['pickUpLocations'],
+                                $pickUpLocations
+                            );
+                        } elseif (empty($customData['pickUpLocations']) && isset($item['department'])) {
                             // if we have no explicit limitations qualifying for
                             // pickUpLocations, assume the item's department as single
                             // pickUpLocation
-                            $customData['pickUpLocations'] = [
+                            $customData['pickUpLocations'] = array_merge($customData['pickUpLocations'], [
                                 [
                                     'locationID' => $item['department']['id'],
                                     'locationDisplay' => $item['department']['content']
                                 ]
-                            ];
+                            ]);
                         }
                         // deal with EmailHold information
                         if (isset($available['limitation'])) {