diff --git a/module/VuFind/config/module.config.php b/module/VuFind/config/module.config.php
index d7e0035009f63a8b8c52db81e8f15c58643d259c..098e6aef4096550b556ddae57733699362ae72b4 100644
--- a/module/VuFind/config/module.config.php
+++ b/module/VuFind/config/module.config.php
@@ -134,6 +134,7 @@ $config = array(
             'VuFind\Export' => 'VuFind\Service\Factory::getExport',
             'VuFind\Http' => 'VuFind\Service\Factory::getHttp',
             'VuFind\HMAC' => 'VuFind\Service\Factory::getHMAC',
+            'VuFind\ILSAuthenticator' => 'VuFind\Auth\Factory::getILSAuthenticator',
             'VuFind\ILSConnection' => 'VuFind\Service\Factory::getILSConnection',
             'VuFind\ILSHoldLogic' => 'VuFind\Service\Factory::getILSHoldLogic',
             'VuFind\ILSHoldSettings' => 'VuFind\Service\Factory::getILSHoldSettings',
diff --git a/module/VuFind/src/VuFind/Auth/Factory.php b/module/VuFind/src/VuFind/Auth/Factory.php
index ec54cd3f006b832b19f09f9178576f71fd576384..19bac6ba708e459acf829f01ffd22c46f16a2b0f 100644
--- a/module/VuFind/src/VuFind/Auth/Factory.php
+++ b/module/VuFind/src/VuFind/Auth/Factory.php
@@ -52,6 +52,20 @@ class Factory
         return new ILS($sm->getServiceLocator()->get('VuFind\ILSConnection'));
     }
 
+    /**
+     * Construct the ILS authenticator.
+     *
+     * @param ServiceManager $sm Service manager.
+     *
+     * @return ILSAuthenticator
+     */
+    public static function getILSAuthenticator(ServiceManager $sm)
+    {
+        $auth = $sm->get('VuFind\AuthManager');
+        $catalog = $sm->get('VuFind\ILSConnection');
+        return new ILSAuthenticator($auth, $catalog);
+    }
+
     /**
      * Construct the authentication manager.
      *
@@ -61,15 +75,30 @@ class Factory
      */
     public static function getManager(ServiceManager $sm)
     {
+        // Set up configuration:
         $config = $sm->get('VuFind\Config')->get('config');
-        $userTable = $sm->get('VuFind\DbTablePluginManager')->get('user');
-        $sessionManager = $sm->get('VuFind\SessionManager');
-        $pm = $sm->get('VuFind\AuthPluginManager');
         try {
+            // Check if the catalog wants to hide the login link, and override
+            // the configuration if necessary.
             $catalog = $sm->get('VuFind\ILSConnection');
+            if ($catalog->loginIsHidden()) {
+                $config = new \Zend\Config\Config($config->toArray(), true);
+                $config->Authentication->hideLogin = true;
+                $config->setReadOnly();
+            }
         } catch (\Exception $e) {
-            $catalog = null;
+            // Ignore exceptions; if the catalog is broken, throwing an exception
+            // here may interfere with UI rendering. If we ignore it now, it will
+            // still get handled appropriately later in processing.
+            error_log($e->getMessage());
         }
+
+        // Load remaining dependencies:
+        $userTable = $sm->get('VuFind\DbTablePluginManager')->get('user');
+        $sessionManager = $sm->get('VuFind\SessionManager');
+        $pm = $sm->get('VuFind\AuthPluginManager');
+
+        // Build the object:
         return new Manager($config, $userTable, $sessionManager, $pm, $catalog);
     }
 
diff --git a/module/VuFind/src/VuFind/Auth/ILSAuthenticator.php b/module/VuFind/src/VuFind/Auth/ILSAuthenticator.php
new file mode 100644
index 0000000000000000000000000000000000000000..8b7b3a13a7473b8feccf675ffbfe42bb74418132
--- /dev/null
+++ b/module/VuFind/src/VuFind/Auth/ILSAuthenticator.php
@@ -0,0 +1,146 @@
+<?php
+/**
+ * Class for managing ILS-specific authentication.
+ *
+ * PHP version 5
+ *
+ * Copyright (C) Villanova University 2007.
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License version 2,
+ * as published by the Free Software Foundation.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+ *
+ * @category VuFind2
+ * @package  Authentication
+ * @author   Demian Katz <demian.katz@villanova.edu>
+ * @license  http://opensource.org/licenses/gpl-2.0.php GNU General Public License
+ * @link     http://www.vufind.org  Main Page
+ */
+namespace VuFind\Auth;
+use VuFind\Exception\ILS as ILSException, VuFind\ILS\Connection as ILSConnection;
+
+/**
+ * Class for managing ILS-specific authentication.
+ *
+ * @category VuFind2
+ * @package  Authentication
+ * @author   Demian Katz <demian.katz@villanova.edu>
+ * @license  http://opensource.org/licenses/gpl-2.0.php GNU General Public License
+ * @link     http://www.vufind.org  Main Page
+ */
+class ILSAuthenticator
+{
+    /**
+     * Auth manager
+     *
+     * @var Manager
+     */
+    protected $auth;
+
+    /**
+     * ILS connector
+     *
+     * @var ILSConnection
+     */
+    protected $catalog;
+
+    /**
+     * Cache for ILS account information (keyed by username)
+     *
+     * @var array
+     */
+    protected $ilsAccount = array();
+
+    /**
+     * Constructor
+     *
+     * @param Manager        $auth           Auth manager
+     * @param ILSConnection  $catalog        ILS connection
+     */
+    public function __construct(Manager $auth, ILSConnection $catalog)
+    {
+        $this->auth = $auth;
+        $this->catalog = $catalog;
+    }
+
+    /**
+     * Log the current user into the catalog using stored credentials; if this
+     * fails, clear the user's stored credentials so they can enter new, corrected
+     * ones.
+     *
+     * Returns associative array of patron data on success, false on failure.
+     *
+     * @return array|bool
+     */
+    public function storedCatalogLogin()
+    {
+        // Fail if no username is found, but allow a missing password (not every ILS
+        // requires a password to connect).
+        if (($user = $this->auth->isLoggedIn())
+            && isset($user->cat_username) && !empty($user->cat_username)
+        ) {
+            // Do we have a previously cached ILS account?
+            if (isset($this->ilsAccount[$user->cat_username])) {
+                return $this->ilsAccount[$user->cat_username];
+            }
+            try {
+                $patron = $this->catalog->patronLogin(
+                    $user->cat_username, $user->getCatPassword()
+                );
+            } catch (ILSException $e) {
+                $patron = null;
+            }
+            if (empty($patron)) {
+                // Problem logging in -- clear user credentials so they can be
+                // prompted again; perhaps their password has changed in the
+                // system!
+                $user->clearCredentials();
+            } else {
+                // cache for future use
+                $this->ilsAccount[$user->cat_username] = $patron;
+                return $patron;
+            }
+        }
+
+        return false;
+    }
+
+    /**
+     * Attempt to log in the user to the ILS, and save credentials if it works.
+     *
+     * @param string $username Catalog username
+     * @param string $password Catalog password
+     *
+     * Returns associative array of patron data on success, false on failure.
+     *
+     * @return array|bool
+     */
+    public function newCatalogLogin($username, $password)
+    {
+        try {
+            $result = $this->catalog->patronLogin($username, $password);
+        } catch (ILSException $e) {
+            return false;
+        }
+        if ($result) {
+            $user = $this->auth->isLoggedIn();
+            if ($user) {
+                $user->saveCredentials($username, $password);
+                $this->auth->updateSession($user);
+                // cache for future use
+                $this->ilsAccount[$username] = $result;
+            }
+            return $result;
+        }
+        return false;
+    }
+}
diff --git a/module/VuFind/src/VuFind/Auth/Manager.php b/module/VuFind/src/VuFind/Auth/Manager.php
index 8b355a697de334c32034f220e8cd41a4a93e9ee3..24e4a2069c3f6824116ce232a6c5e9647bb0d7bd 100644
--- a/module/VuFind/src/VuFind/Auth/Manager.php
+++ b/module/VuFind/src/VuFind/Auth/Manager.php
@@ -27,10 +27,8 @@
  */
 namespace VuFind\Auth;
 use VuFind\Db\Row\User as UserRow, VuFind\Db\Table\User as UserTable,
-    VuFind\Exception\Auth as AuthException, VuFind\Exception\ILS as ILSException,
-    VuFind\ILS\Connection as ILSConnection,
-    Zend\Config\Config,
-    Zend\Session\SessionManager;
+    VuFind\Exception\Auth as AuthException, VuFind\ILS\Connection as ILSConnection,
+    Zend\Config\Config, Zend\Session\SessionManager;
 
 /**
  * Wrapper class for handling logged-in user in session.
@@ -78,20 +76,6 @@ class Manager
      */
     protected $session;
 
-    /**
-     * ILS connector (null if unavailable)
-     *
-     * @var ILSConnection
-     */
-    protected $catalog;
-
-    /**
-     * ILS account information (false if uninitialized)
-     *
-     * @var array|bool
-     */
-    protected $ilsAccount = false;
-
     /**
      * Gateway to user table in database
      *
@@ -126,17 +110,14 @@ class Manager
      * @param Config         $config         VuFind configuration
      * @param UserTable      $userTable      User table gateway
      * @param SessionManager $sessionManager Session manager
-     * @param ILSConnection  $catalog        ILS connection (null if unavailable)
      */
     public function __construct(Config $config, UserTable $userTable,
-        SessionManager $sessionManager, PluginManager $pm,
-        ILSConnection $catalog = null
+        SessionManager $sessionManager, PluginManager $pm
     ) {
         $this->config = $config;
         $this->userTable = $userTable;
         $this->sessionManager = $sessionManager;
         $this->pluginManager = $pm;
-        $this->catalog = $catalog;
         $this->session = new \Zend\Session\Container('Account');
     }
 
@@ -318,16 +299,10 @@ class Manager
      */
     public function loginEnabled()
     {
-        if (isset($this->config->Authentication->hideLogin)
-            && $this->config->Authentication->hideLogin
-        ) {
-            return false;
-        }
-        // If we can't connect to the catalog, assume that no special
-        // ILS-related login settings exist -- this prevents ILS errors
-        // from triggering an exception early in initialization before
-        // VuFind is ready to display error messages.
-        return (null === $this->catalog) ? true : !$this->catalog->loginIsHidden();
+        // Assume login is enabled unless explicitly turned off:
+        return isset($this->config->Authentication->hideLogin)
+            ? !$this->config->Authentication->hideLogin
+            : true;
     }
 
     /**
@@ -346,9 +321,6 @@ class Manager
         // necessary.
         $url = $this->getAuth()->logout($url);
 
-        // Clear out cached ILS connection.
-        $this->ilsAccount = false;
-
         // Clear out the cached user object and session entry.
         $this->currentUser = false;
         unset($this->session->userId);
@@ -494,79 +466,6 @@ class Manager
         return $user;
     }
 
-    /**
-     * Log the current user into the catalog using stored credentials; if this
-     * fails, clear the user's stored credentials so they can enter new, corrected
-     * ones.
-     *
-     * Returns associative array of patron data on success, false on failure.
-     *
-     * @return array|bool
-     */
-    public function storedCatalogLogin()
-    {
-        // Do we have a previously cached ILS account?
-        if (is_array($this->ilsAccount)) {
-            return $this->ilsAccount;
-        }
-
-        // Fail if no username is found, but allow a missing password (not every ILS
-        // requires a password to connect).
-        if (null !== $this->catalog
-            && ($user = $this->isLoggedIn())
-            && isset($user->cat_username) && !empty($user->cat_username)
-        ) {
-            try {
-                $patron = $this->catalog->patronLogin(
-                    $user->cat_username, $user->getCatPassword()
-                );
-            } catch (ILSException $e) {
-                $patron = null;
-            }
-            if (empty($patron)) {
-                // Problem logging in -- clear user credentials so they can be
-                // prompted again; perhaps their password has changed in the
-                // system!
-                $user->clearCredentials();
-            } else {
-                $this->ilsAccount = $patron;    // cache for future use
-                return $patron;
-            }
-        }
-
-        return false;
-    }
-
-    /**
-     * Attempt to log in the user to the ILS, and save credentials if it works.
-     *
-     * @param string $username Catalog username
-     * @param string $password Catalog password
-     *
-     * Returns associative array of patron data on success, false on failure.
-     *
-     * @return array|bool
-     */
-    public function newCatalogLogin($username, $password)
-    {
-        try {
-            $result = ($this->catalog === null)
-                ? false : $this->catalog->patronLogin($username, $password);
-        } catch (ILSException $e) {
-            return false;
-        }
-        if ($result) {
-            $user = $this->isLoggedIn();
-            if ($user) {
-                $user->saveCredentials($username, $password);
-                $this->updateSession($user);
-                $this->ilsAccount = $result;    // cache for future use
-            }
-            return $result;
-        }
-        return false;
-    }
-
     /**
      * Setter
      *
diff --git a/module/VuFind/src/VuFind/Controller/AbstractBase.php b/module/VuFind/src/VuFind/Controller/AbstractBase.php
index fe865c46a71e92814f170009c6608508918b69e3..a38391178dce87351df336a92f45347413d02814 100644
--- a/module/VuFind/src/VuFind/Controller/AbstractBase.php
+++ b/module/VuFind/src/VuFind/Controller/AbstractBase.php
@@ -133,6 +133,16 @@ class AbstractBase extends AbstractActionController
         return $this->getServiceLocator()->get('VuFind\AuthManager');
     }
 
+    /**
+     * Get the ILS authenticator.
+     *
+     * @return \VuFind\Auth\ILSAuthenticator
+     */
+    protected function getILSAuthenticator()
+    {
+        return $this->getServiceLocator()->get('VuFind\ILSAuthenticator');
+    }
+
     /**
      * Get the user object if logged in, false otherwise.
      *
@@ -336,10 +346,11 @@ class AbstractBase extends AbstractActionController
         }
 
         // Now check if the user has provided credentials with which to log in:
+        $ilsAuth = $this->getILSAuthenticator();
         if (($username = $this->params()->fromPost('cat_username', false))
             && ($password = $this->params()->fromPost('cat_password', false))
         ) {
-            $patron = $account->newCatalogLogin($username, $password);
+            $patron = $ilsAuth->newCatalogLogin($username, $password);
 
             // If login failed, store a warning message:
             if (!$patron) {
@@ -348,7 +359,7 @@ class AbstractBase extends AbstractActionController
             }
         } else {
             // If no credentials were provided, try the stored values:
-            $patron = $account->storedCatalogLogin();
+            $patron = $ilsAuth->storedCatalogLogin();
         }
 
         // If catalog login failed, send the user to the right page:
diff --git a/module/VuFind/src/VuFind/Controller/AjaxController.php b/module/VuFind/src/VuFind/Controller/AjaxController.php
index 987dd22ed2a5bb261b4e40738fec38f41536309e..85e311ce2b8392072540b05260bea8968ae5ebab 100644
--- a/module/VuFind/src/VuFind/Controller/AjaxController.php
+++ b/module/VuFind/src/VuFind/Controller/AjaxController.php
@@ -1125,7 +1125,7 @@ class AjaxController extends AbstractBase
 
             try {
                 $catalog = $this->getILS();
-                $patron = $this->getAuthManager()->storedCatalogLogin();
+                $patron = $this->getILSAuthenticator()->storedCatalogLogin();
                 if ($patron) {
                     switch ($requestType) {
                     case 'ILLRequest':
@@ -1440,7 +1440,7 @@ class AjaxController extends AbstractBase
 
             try {
                 $catalog = $this->getILS();
-                $patron = $this->getAuthManager()->storedCatalogLogin();
+                $patron = $this->getILSAuthenticator()->storedCatalogLogin();
                 if ($patron) {
                     $results = $catalog->getILLPickupLocations(
                         $id, $pickupLib, $patron
@@ -1493,7 +1493,7 @@ class AjaxController extends AbstractBase
 
             try {
                 $catalog = $this->getILS();
-                $patron = $this->getAuthManager()->storedCatalogLogin();
+                $patron = $this->getILSAuthenticator()->storedCatalogLogin();
                 if ($patron) {
                     $details = array(
                         'id' => $id,
diff --git a/module/VuFind/src/VuFind/ILS/Driver/Factory.php b/module/VuFind/src/VuFind/ILS/Driver/Factory.php
index 19145d3e272fc31b9ef92ce24810d40b21ce99b1..325f1ec2c3377e4ae7b026eb65195c42c2b0e85c 100644
--- a/module/VuFind/src/VuFind/ILS/Driver/Factory.php
+++ b/module/VuFind/src/VuFind/ILS/Driver/Factory.php
@@ -105,7 +105,10 @@ class Factory
      */
     public static function getMultiBackend(ServiceManager $sm)
     {
-        return new MultiBackend($sm->getServiceLocator()->get('VuFind\Config'));
+        return new MultiBackend(
+            $sm->getServiceLocator()->get('VuFind\Config'),
+            $sm->getServiceLocator()->get('VuFind\ILSAuthenticator')
+        );
     }
 
     /**
diff --git a/module/VuFind/src/VuFind/ILS/Driver/MultiBackend.php b/module/VuFind/src/VuFind/ILS/Driver/MultiBackend.php
index 0c8c4bad3daf16906623d3f6b92b7a752ae0ed4f..4522da21c8e62dda19581c265ba54f9f2b714724 100644
--- a/module/VuFind/src/VuFind/ILS/Driver/MultiBackend.php
+++ b/module/VuFind/src/VuFind/ILS/Driver/MultiBackend.php
@@ -105,6 +105,13 @@ class MultiBackend extends AbstractBase
      */
     protected $configLoader;
 
+    /**
+     * ILS authenticator
+     *
+     * @param \VuFind\Auth\ILSAuthenticator
+     */
+    protected $ilsAuth;
+
     /**
      * Logger (or false for none)
      *
@@ -115,11 +122,15 @@ class MultiBackend extends AbstractBase
     /**
      * Constructor
      *
-     * @param \VuFind\Config\PluginManager $configLoader Configuration loader
+     * @param \VuFind\Config\PluginManager  $configLoader Configuration loader
+     * @param \VuFind\Auth\ILSAuthenticator $ilsAuth      ILS authenticator
      */
-    public function __construct(\VuFind\Config\PluginManager $configLoader)
+    public function __construct(\VuFind\Config\PluginManager $configLoader,
+        \VuFind\Auth\ILSAuthenticator $ilsAuth
+    )
     {
         $this->configLoader = $configLoader;
+        $this->ilsAuth = $ilsAuth;
     }
 
     /**
@@ -1109,13 +1120,9 @@ class MultiBackend extends AbstractBase
             $source = $this->getSource($id);
         }
         if (!$source) {
-            $parentLocator = $this->getServiceLocator()->getServiceLocator();
-            $account = $parentLocator->get('VuFind\AuthManager');
-            if ($account->isLoggedIn()) {
-                $patron = $account->storedCatalogLogin();
-                if ($patron && isset($patron['cat_username'])) {
-                    $source = $this->getSource($patron['cat_username'], 'login');
-                }
+            $patron = $this->ilsAuth->storedCatalogLogin();
+            if ($patron && isset($patron['cat_username'])) {
+                $source = $this->getSource($patron['cat_username'], 'login');
             }
         }
 
diff --git a/module/VuFind/src/VuFind/ILS/Logic/Holds.php b/module/VuFind/src/VuFind/ILS/Logic/Holds.php
index d398a4a45c7cdb4e3d384fbbf104f52f4c137c90..e910475670fd84f183680b3470baf7f2dc7545fc 100644
--- a/module/VuFind/src/VuFind/ILS/Logic/Holds.php
+++ b/module/VuFind/src/VuFind/ILS/Logic/Holds.php
@@ -42,11 +42,11 @@ use VuFind\ILS\Connection as ILSConnection;
 class Holds
 {
     /**
-     * Auth manager object
+     * ILS authenticator
      *
-     * @var \VuFind\Auth\Manager
+     * @var \VuFind\Auth\ILSAuthenticator
      */
-    protected $account;
+    protected $ilsAuth;
 
     /**
      * Catalog connection object
@@ -79,15 +79,15 @@ class Holds
     /**
      * Constructor
      *
-     * @param \VuFind\Auth\Manager $account Auth manager object
+     * @param \VuFind\Auth\ILSAuthenticator $ilsAuth ILS authenticator
      * @param ILSConnection        $ils     A catalog connection
      * @param \VuFind\Crypt\HMAC   $hmac    HMAC generator
      * @param \Zend\Config\Config  $config  VuFind configuration
      */
-    public function __construct(\VuFind\Auth\Manager $account, ILSConnection $ils,
-        \VuFind\Crypt\HMAC $hmac, \Zend\Config\Config $config
+    public function __construct(\VuFind\Auth\ILSAuthenticator $ilsAuth,
+        ILSConnection $ils, \VuFind\Crypt\HMAC $hmac, \Zend\Config\Config $config
     ) {
-        $this->account = $account;
+        $this->ilsAuth = $ilsAuth;
         $this->hmac = $hmac;
         $this->config = $config;
 
@@ -166,7 +166,7 @@ class Holds
             // Retrieve stored patron credentials; it is the responsibility of the
             // controller and view to inform the user that these credentials are
             // needed for hold data.
-            $patron = $this->account->storedCatalogLogin();
+            $patron = $this->ilsAuth->storedCatalogLogin();
             $result = $this->catalog->getHolding($id, $patron ? $patron : null);
             $mode = $this->catalog->getHoldsMode();
 
diff --git a/module/VuFind/src/VuFind/ILS/Logic/TitleHolds.php b/module/VuFind/src/VuFind/ILS/Logic/TitleHolds.php
index f24aa34d75b9b8432c9e2cdf55cacae4bd771bd1..0b62135ca709dd749e46392b6e45c077048c01d0 100644
--- a/module/VuFind/src/VuFind/ILS/Logic/TitleHolds.php
+++ b/module/VuFind/src/VuFind/ILS/Logic/TitleHolds.php
@@ -42,11 +42,11 @@ use VuFind\ILS\Connection as ILSConnection;
 class TitleHolds
 {
     /**
-     * Auth manager object
+     * ILS authenticator
      *
-     * @var \VuFind\Auth\Manager
+     * @var \VuFind\Auth\ILSAuthenticator
      */
-    protected $account;
+    protected $ilsAuth;
 
     /**
      * Catalog connection object
@@ -79,15 +79,15 @@ class TitleHolds
     /**
      * Constructor
      *
-     * @param \VuFind\Auth\Manager $account Auth manager object
-     * @param ILSConnection        $ils     A catalog connection
-     * @param \VuFind\Crypt\HMAC   $hmac    HMAC generator
-     * @param \Zend\Config\Config  $config  VuFind configuration
+     * @param \VuFind\Auth\ILSAuthenticator $ilsAuth ILS authenticator
+     * @param ILSConnection                 $ils     A catalog connection
+     * @param \VuFind\Crypt\HMAC            $hmac    HMAC generator
+     * @param \Zend\Config\Config           $config  VuFind configuration
      */
-    public function __construct(\VuFind\Auth\Manager $account, ILSConnection $ils,
-        \VuFind\Crypt\HMAC $hmac, \Zend\Config\Config $config
+    public function __construct(\VuFind\Auth\ILSAuthenticator $ilsAuth,
+        ILSConnection $ils, \VuFind\Crypt\HMAC $hmac, \Zend\Config\Config $config
     ) {
-        $this->account = $account;
+        $this->ilsAuth = $ilsAuth;
         $this->hmac = $hmac;
         $this->config = $config;
 
@@ -115,7 +115,7 @@ class TitleHolds
             if ($mode == "disabled") {
                  return false;
             } else if ($mode == "driver") {
-                $patron = $this->account->storedCatalogLogin();
+                $patron = $this->ilsAuth->storedCatalogLogin();
                 if (!$patron) {
                     return false;
                 }
diff --git a/module/VuFind/src/VuFind/Service/Factory.php b/module/VuFind/src/VuFind/Service/Factory.php
index 7ed9111733f256ea1e856242704abb4db41192b1..b994035101479605e74c7464ca0e5e9887f6b870 100644
--- a/module/VuFind/src/VuFind/Service/Factory.php
+++ b/module/VuFind/src/VuFind/Service/Factory.php
@@ -192,7 +192,7 @@ class Factory
     public static function getILSHoldLogic(ServiceManager $sm)
     {
         return new \VuFind\ILS\Logic\Holds(
-            $sm->get('VuFind\AuthManager'), $sm->get('VuFind\ILSConnection'),
+            $sm->get('VuFind\ILSAuthenticator'), $sm->get('VuFind\ILSConnection'),
             $sm->get('VuFind\HMAC'), $sm->get('VuFind\Config')->get('config')
         );
     }
@@ -221,7 +221,7 @@ class Factory
     public static function getILSTitleHoldLogic(ServiceManager $sm)
     {
         return new \VuFind\ILS\Logic\TitleHolds(
-            $sm->get('VuFind\AuthManager'), $sm->get('VuFind\ILSConnection'),
+            $sm->get('VuFind\ILSAuthenticator'), $sm->get('VuFind\ILSConnection'),
             $sm->get('VuFind\HMAC'), $sm->get('VuFind\Config')->get('config')
         );
     }