diff --git a/module/VuFind/src/VuFind/ILS/Logic/Holds.php b/module/VuFind/src/VuFind/ILS/Logic/Holds.php
index 66a86a2cd2266b0ed6be55a42ec7cf4a0b3cbdd9..80273e28f0de185b7df4b5f01d989ff4d21e1500 100644
--- a/module/VuFind/src/VuFind/ILS/Logic/Holds.php
+++ b/module/VuFind/src/VuFind/ILS/Logic/Holds.php
@@ -153,11 +153,11 @@ class Holds
      * holding method to call
      *
      * @param string $id A Bib ID
+     * @param array $ids A list of Source Records (if catalog is for a consortium)
      *
      * @return array A sorted results set
      */
-
-    public function getHoldings($id)
+    public function getHoldings($id, $ids = null)
     {
         $holdings = array();
 
@@ -167,7 +167,15 @@ class Holds
             // controller and view to inform the user that these credentials are
             // needed for hold data.
             $patron = $this->ilsAuth->storedCatalogLogin();
-            $result = $this->catalog->getHolding($id, $patron ? $patron : null);
+
+            // Does this ILS Driver handle consortial holdings?
+            $config = $this->catalog->getConfig('Holds');
+            if (isset($config['consortium']) && $config['consortium'] == true) {
+               $result = $this->catalog->getConsortialHoldings($id, $patron ? $patron : null, $ids);
+            } else {
+               $result = $this->catalog->getHolding($id, $patron ? $patron : null);
+            }
+
             $mode = $this->catalog->getHoldsMode();
 
             if ($mode == "disabled") {
diff --git a/module/VuFind/src/VuFind/RecordDriver/SolrMarc.php b/module/VuFind/src/VuFind/RecordDriver/SolrMarc.php
index 471bedac04675c5b26d1b080f0a736a52eb7096a..5744fe5d92e87d31f015fd55acad0eec277c2a0e 100644
--- a/module/VuFind/src/VuFind/RecordDriver/SolrMarc.php
+++ b/module/VuFind/src/VuFind/RecordDriver/SolrMarc.php
@@ -1062,7 +1062,7 @@ class SolrMarc extends SolrDefault
     public function getRealTimeHoldings()
     {
         return $this->hasILS()
-            ? $this->holdLogic->getHoldings($this->getUniqueID())
+            ? $this->holdLogic->getHoldings($this->getUniqueID(), $this->getConsortialIDs())
             : array();
     }
 
@@ -1135,4 +1135,14 @@ class SolrMarc extends SolrDefault
             'record-rdf-mods.xsl', trim($this->marcRecord->toXML())
         );
     }
+
+    /**
+     * Return the list of "source records" for this consortial record.
+     *
+     * @return array
+     */
+    public function getConsortialIDs()
+    {
+        return $this->getFieldArray('035', 'a', true);
+    }
 }