diff --git a/module/VuFind/src/VuFind/Controller/CombinedController.php b/module/VuFind/src/VuFind/Controller/CombinedController.php
index fb319fda7d44793965d446cbdd9be690498c2f1c..98ff2988a3c3d6270072a13c213d751393afd162 100644
--- a/module/VuFind/src/VuFind/Controller/CombinedController.php
+++ b/module/VuFind/src/VuFind/Controller/CombinedController.php
@@ -73,7 +73,8 @@ class CombinedController extends AbstractSearch
         $searchClassId = $this->params()->fromQuery('id');
         $config = $this->getServiceLocator()->get('VuFind\Config')->get('combined')
             ->toArray();
-        if (!isset($config[$searchClassId])) {
+        $tabConfig = $this->getTabConfig($config);
+        if (!isset($tabConfig[$searchClassId])) {
             throw new \Exception('Illegal ID');
         }
 
@@ -83,7 +84,7 @@ class CombinedController extends AbstractSearch
         $currentOptions = $options->get($searchClassId);
         list($controller, $action)
             = explode('-', $currentOptions->getSearchAction());
-        $settings = $config[$searchClassId];
+        $settings = $tabConfig[$searchClassId];
 
         $this->adjustQueryForSettings($settings);
         $settings['view'] = $this->forwardTo($controller, $action);
@@ -149,11 +150,7 @@ class CombinedController extends AbstractSearch
             ->toArray();
         $supportsCart = false;
         $supportsCartOptions = [];
-        foreach ($config as $current => $settings) {
-            // Special case -- ignore recommendation config:
-            if ($current == 'Layout' || $current == 'RecommendationModules') {
-                continue;
-            }
+        foreach ($this->getTabConfig($config) as $current => $settings) {
             $this->adjustQueryForSettings($settings);
             $currentOptions = $options->get($current);
             $supportsCartOptions[] = $currentOptions->supportsCart();
@@ -274,4 +271,20 @@ class CombinedController extends AbstractSearch
             $query->noRecommend = 'top,side';
         }
     }
+
+    /**
+     * Get tab configuration based on the full combined results configuration.
+     *
+     * @param array $config Combined results configuration
+     *
+     * @return array
+     */
+    protected function getTabConfig($config)
+    {
+        // Strip out non-tab sections of the configuration:
+        unset($config['Layout']);
+        unset($config['RecommendationModules']);
+
+        return $config;
+    }
 }