diff --git a/module/VuFind/config/module.config.php b/module/VuFind/config/module.config.php
index f76dfdab4a57568a53a54247ec9e06ad34e5f647..0a1430878cb74e4e0898f3475b4a425ccc34ceef 100644
--- a/module/VuFind/config/module.config.php
+++ b/module/VuFind/config/module.config.php
@@ -615,51 +615,7 @@ $config = [
                     'xcncip2' => 'VuFind\ILS\Driver\XCNCIP2',
                 ],
             ],
-            'recommend' => [
-                'abstract_factories' => ['VuFind\Recommend\PluginFactory'],
-                'factories' => [
-                    'authorfacets' => 'VuFind\Recommend\Factory::getAuthorFacets',
-                    'authorinfo' => 'VuFind\Recommend\Factory::getAuthorInfo',
-                    'authorityrecommend' => 'VuFind\Recommend\Factory::getAuthorityRecommend',
-                    'catalogresults' => 'VuFind\Recommend\Factory::getCatalogResults',
-                    'collectionsidefacets' => 'VuFind\Recommend\Factory::getCollectionSideFacets',
-                    'dplaterms' => 'VuFind\Recommend\Factory::getDPLATerms',
-                    'europeanaresults' => 'VuFind\Recommend\Factory::getEuropeanaResults',
-                    'expandfacets' => 'VuFind\Recommend\Factory::getExpandFacets',
-                    'favoritefacets' => 'VuFind\Recommend\Factory::getFavoriteFacets',
-                    'mapselection' => 'VuFind\Recommend\Factory::getMapSelection',
-                    'sidefacets' => 'VuFind\Recommend\Factory::getSideFacets',
-                    'randomrecommend' => 'VuFind\Recommend\Factory::getRandomRecommend',
-                    'summonbestbets' => 'VuFind\Recommend\Factory::getSummonBestBets',
-                    'summondatabases' => 'VuFind\Recommend\Factory::getSummonDatabases',
-                    'summonresults' => 'VuFind\Recommend\Factory::getSummonResults',
-                    'summontopics' => 'VuFind\Recommend\Factory::getSummonTopics',
-                    'switchquery' => 'VuFind\Recommend\Factory::getSwitchQuery',
-                    'topfacets' => 'VuFind\Recommend\Factory::getTopFacets',
-                    'visualfacets' => 'VuFind\Recommend\Factory::getVisualFacets',
-                    'webresults' => 'VuFind\Recommend\Factory::getWebResults',
-                    'worldcatidentities' => 'VuFind\Recommend\Factory::getWorldCatIdentities',
-                ],
-                'invokables' => [
-                    'alphabrowselink' => 'VuFind\Recommend\AlphaBrowseLink',
-                    'channels' => 'VuFind\Recommend\Channels',
-                    'doi' => 'VuFind\Recommend\DOI',
-                    'europeanaresultsdeferred' => 'VuFind\Recommend\EuropeanaResultsDeferred',
-                    'facetcloud' => 'VuFind\Recommend\FacetCloud',
-                    'libraryh3lp' => 'VuFind\Recommend\Libraryh3lp',
-                    'openlibrarysubjects' => 'VuFind\Recommend\OpenLibrarySubjects',
-                    'openlibrarysubjectsdeferred' => 'VuFind\Recommend\OpenLibrarySubjectsDeferred',
-                    'pubdatevisajax' => 'VuFind\Recommend\PubDateVisAjax',
-                    'removefilters' => 'VuFind\Recommend\RemoveFilters',
-                    'resultgooglemapajax' => 'VuFind\Recommend\Deprecated',
-                    'spellingsuggestions' => 'VuFind\Recommend\SpellingSuggestions',
-                    'summonbestbetsdeferred' => 'VuFind\Recommend\SummonBestBetsDeferred',
-                    'summondatabasesdeferred' => 'VuFind\Recommend\SummonDatabasesDeferred',
-                    'summonresultsdeferred' => 'VuFind\Recommend\SummonResultsDeferred',
-                    'switchtype' => 'VuFind\Recommend\SwitchType',
-                    'worldcatterms' => 'VuFind\Recommend\Deprecated',
-                ],
-            ],
+            'recommend' => [ /* See VuFind\Recommend\PluginManager for defaults */ ],
             'recorddriver' => [
                 'abstract_factories' => ['VuFind\RecordDriver\PluginFactory'],
                 'factories' => [
diff --git a/module/VuFind/src/VuFind/Recommend/PluginManager.php b/module/VuFind/src/VuFind/Recommend/PluginManager.php
index 320b00828c7dbd882032bf9d55e595d0906d1bd0..51b496900044f46203e0808c48df6650556a894d 100644
--- a/module/VuFind/src/VuFind/Recommend/PluginManager.php
+++ b/module/VuFind/src/VuFind/Recommend/PluginManager.php
@@ -38,6 +38,128 @@ namespace VuFind\Recommend;
  */
 class PluginManager extends \VuFind\ServiceManager\AbstractPluginManager
 {
+    /**
+     * Default plugin aliases.
+     *
+     * @var array
+     */
+    protected $aliases = [
+        'alphabrowselink' => 'VuFind\Recommend\AlphaBrowseLink',
+        'authorfacets' => 'VuFind\Recommend\AuthorFacets',
+        'authorinfo' => 'VuFind\Recommend\AuthorInfo',
+        'authorityrecommend' => 'VuFind\Recommend\AuthorityRecommend',
+        'catalogresults' => 'VuFind\Recommend\CatalogResults',
+        'channels' => 'VuFind\Recommend\Channels',
+        'collectionsidefacets' => 'VuFind\Recommend\CollectionSideFacets',
+        'doi' => 'VuFind\Recommend\DOI',
+        'dplaterms' => 'VuFind\Recommend\DPLATerms',
+        'europeanaresults' => 'VuFind\Recommend\EuropeanaResults',
+        'europeanaresultsdeferred' => 'VuFind\Recommend\EuropeanaResultsDeferred',
+        'expandfacets' => 'VuFind\Recommend\ExpandFacets',
+        'facetcloud' => 'VuFind\Recommend\FacetCloud',
+        'favoritefacets' => 'VuFind\Recommend\FavoriteFacets',
+        'libraryh3lp' => 'VuFind\Recommend\Libraryh3lp',
+        'mapselection' => 'VuFind\Recommend\MapSelection',
+        'sidefacets' => 'VuFind\Recommend\SideFacets',
+        'openlibrarysubjects' => 'VuFind\Recommend\OpenLibrarySubjects',
+        'openlibrarysubjectsdeferred' =>
+            'VuFind\Recommend\OpenLibrarySubjectsDeferred',
+        'pubdatevisajax' => 'VuFind\Recommend\PubDateVisAjax',
+        'randomrecommend' => 'VuFind\Recommend\RandomRecommend',
+        'removefilters' => 'VuFind\Recommend\RemoveFilters',
+        'resultgooglemapajax' => 'VuFind\Recommend\Deprecated',
+        'spellingsuggestions' => 'VuFind\Recommend\SpellingSuggestions',
+        'summonbestbets' => 'VuFind\Recommend\SummonBestBets',
+        'summonbestbetsdeferred' => 'VuFind\Recommend\SummonBestBetsDeferred',
+        'summondatabases' => 'VuFind\Recommend\SummonDatabases',
+        'summondatabasesdeferred' => 'VuFind\Recommend\SummonDatabasesDeferred',
+        'summonresults' => 'VuFind\Recommend\SummonResults',
+        'summonresultsdeferred' => 'VuFind\Recommend\SummonResultsDeferred',
+        'summontopics' => 'VuFind\Recommend\SummonTopics',
+        'switchquery' => 'VuFind\Recommend\SwitchQuery',
+        'switchtype' => 'VuFind\Recommend\SwitchType',
+        'topfacets' => 'VuFind\Recommend\TopFacets',
+        'visualfacets' => 'VuFind\Recommend\VisualFacets',
+        'webresults' => 'VuFind\Recommend\WebResults',
+        'worldcatidentities' => 'VuFind\Recommend\WorldCatIdentities',
+        'worldcatterms' => 'VuFind\Recommend\Deprecated',
+    ];
+
+    /**
+     * Default plugin factories.
+     *
+     * @var array
+     */
+    protected $factories = [
+        'VuFind\Recommend\AlphaBrowseLink' =>
+            'Zend\ServiceManager\Factory\InvokableFactory',
+        'VuFind\Recommend\AuthorFacets' =>
+            'VuFind\Recommend\Factory::getAuthorFacets',
+        'VuFind\Recommend\AuthorInfo' => 'VuFind\Recommend\Factory::getAuthorInfo',
+        'VuFind\Recommend\AuthorityRecommend' =>
+            'VuFind\Recommend\Factory::getAuthorityRecommend',
+        'VuFind\Recommend\CatalogResults' =>
+            'VuFind\Recommend\Factory::getCatalogResults',
+        'VuFind\Recommend\Channels' =>
+            'Zend\ServiceManager\Factory\InvokableFactory',
+        'VuFind\Recommend\CollectionSideFacets' =>
+            'VuFind\Recommend\Factory::getCollectionSideFacets',
+        'VuFind\Recommend\Deprecated' =>
+            'Zend\ServiceManager\Factory\InvokableFactory',
+        'VuFind\Recommend\DOI' => 'Zend\ServiceManager\Factory\InvokableFactory',
+        'VuFind\Recommend\DPLATerms' => 'VuFind\Recommend\Factory::getDPLATerms',
+        'VuFind\Recommend\EuropeanaResults' =>
+            'VuFind\Recommend\Factory::getEuropeanaResults',
+        'VuFind\Recommend\EuropeanaResultsDeferred' =>
+            'Zend\ServiceManager\Factory\InvokableFactory',
+        'VuFind\Recommend\ExpandFacets' =>
+            'VuFind\Recommend\Factory::getExpandFacets',
+        'VuFind\Recommend\FacetCloud' =>
+            'Zend\ServiceManager\Factory\InvokableFactory',
+        'VuFind\Recommend\FavoriteFacets' =>
+            'VuFind\Recommend\Factory::getFavoriteFacets',
+        'VuFind\Recommend\Libraryh3lp' =>
+            'Zend\ServiceManager\Factory\InvokableFactory',
+        'VuFind\Recommend\MapSelection' =>
+            'VuFind\Recommend\Factory::getMapSelection',
+        'VuFind\Recommend\SideFacets' => 'VuFind\Recommend\Factory::getSideFacets',
+        'VuFind\Recommend\OpenLibrarySubjects' =>
+            'Zend\ServiceManager\Factory\InvokableFactory',
+        'VuFind\Recommend\OpenLibrarySubjectsDeferred' =>
+            'Zend\ServiceManager\Factory\InvokableFactory',
+        'VuFind\Recommend\PubDateVisAjax' =>
+            'Zend\ServiceManager\Factory\InvokableFactory',
+        'VuFind\Recommend\RandomRecommend' =>
+            'VuFind\Recommend\Factory::getRandomRecommend',
+        'VuFind\Recommend\RemoveFilters' =>
+            'Zend\ServiceManager\Factory\InvokableFactory',
+        'VuFind\Recommend\SpellingSuggestions' =>
+            'Zend\ServiceManager\Factory\InvokableFactory',
+        'VuFind\Recommend\SummonBestBets' =>
+            'VuFind\Recommend\Factory::getSummonBestBets',
+        'VuFind\Recommend\SummonBestBetsDeferred' =>
+            'Zend\ServiceManager\Factory\InvokableFactory',
+        'VuFind\Recommend\SummonDatabases' =>
+            'VuFind\Recommend\Factory::getSummonDatabases',
+        'VuFind\Recommend\SummonDatabasesDeferred' =>
+            'Zend\ServiceManager\Factory\InvokableFactory',
+        'VuFind\Recommend\SummonResults' =>
+            'VuFind\Recommend\Factory::getSummonResults',
+        'VuFind\Recommend\SummonResultsDeferred' =>
+            'Zend\ServiceManager\Factory\InvokableFactory',
+        'VuFind\Recommend\SummonTopics' =>
+            'VuFind\Recommend\Factory::getSummonTopics',
+        'VuFind\Recommend\SwitchQuery' => 'VuFind\Recommend\Factory::getSwitchQuery',
+        'VuFind\Recommend\SwitchType' =>
+            'Zend\ServiceManager\Factory\InvokableFactory',
+        'VuFind\Recommend\TopFacets' => 'VuFind\Recommend\Factory::getTopFacets',
+        'VuFind\Recommend\VisualFacets' =>
+            'VuFind\Recommend\Factory::getVisualFacets',
+        'VuFind\Recommend\WebResults' => 'VuFind\Recommend\Factory::getWebResults',
+        'VuFind\Recommend\WorldCatIdentities' =>
+            'VuFind\Recommend\Factory::getWorldCatIdentities',
+    ];
+
     /**
      * Constructor
      *
@@ -54,6 +176,7 @@ class PluginManager extends \VuFind\ServiceManager\AbstractPluginManager
         // we are building a brand new object.
         $this->sharedByDefault = false;
 
+        $this->addAbstractFactory('VuFind\Recommend\PluginFactory');
         parent::__construct($configOrContainerInstance, $v3config);
     }