diff --git a/config/vufind/facets.ini b/config/vufind/facets.ini
index 5dfca94afc9aa33bb95bdb8588da47f857fdcbcb..e3c1492f9bf215aeda715f65c98b592d40f6aa8a 100644
--- a/config/vufind/facets.ini
+++ b/config/vufind/facets.ini
@@ -107,6 +107,22 @@ dateRange[] = publishDate
 [CheckboxFacets]
 ;edition:1st* = "First Edition"     ; Contrived hypothetical example
 
+; Available sort options when listing all facets from Sidefacets.
+;
+; Each configuration option targets a search class and a facet field.
+; All facet fields for a search class can be targeted using the wildcard '*'.
+; Sort options are given as a comma-separated list of "<sort-field>=<label>" entries,
+; where <sort-field> is either 'count' or 'index' and <label> the translation
+; key for the option.
+[AvailableFacetSortOptions]
+; By default all Solr facets can be sorted by count and alphabetically.
+
+; Example: sort Solr author_facet by count only.
+; Solr[author_facet] = "count=sort_count"
+
+; Example: sort Solr author_facet only alphabetically
+; Solr[author_facet] = "index=sort_alphabetic"
+
 ; These settings affect the way the [Results] facets are displayed
 ; If using facets at the top of search results you have more room for text.
 [Results_Settings]
diff --git a/module/VuFind/src/VuFind/Controller/AbstractSearch.php b/module/VuFind/src/VuFind/Controller/AbstractSearch.php
index f7714bc4f4247155e8a6dbec3949679f94289878..5c9c50099ebcb6b4dce50bee5e259ce8b4d0f877 100644
--- a/module/VuFind/src/VuFind/Controller/AbstractSearch.php
+++ b/module/VuFind/src/VuFind/Controller/AbstractSearch.php
@@ -718,7 +718,7 @@ class AbstractSearch extends AbstractBase
         $facet = $this->params()->fromQuery('facet');
         $page = (int)$this->params()->fromQuery('facetpage', 1);
         $options = $results->getOptions();
-        $facetSortOptions = $options->getFacetSortOptions();
+        $facetSortOptions = $options->getFacetSortOptions($facet);
         $sort = $this->params()->fromQuery('facetsort', null);
         if ($sort === null || !in_array($sort, array_keys($facetSortOptions))) {
             $sort = empty($facetSortOptions)
diff --git a/module/VuFind/src/VuFind/Search/Base/Options.php b/module/VuFind/src/VuFind/Search/Base/Options.php
index f53294154b374d4abca36de0bc5eca59c1f6db5d..01eb5f3928edc1b315aafd77ac54ba92aa00c849 100644
--- a/module/VuFind/src/VuFind/Search/Base/Options.php
+++ b/module/VuFind/src/VuFind/Search/Base/Options.php
@@ -292,6 +292,20 @@ abstract class Options implements TranslatorAwareInterface
     {
         $this->limitOptions = [$this->defaultLimit];
         $this->setConfigLoader($configLoader);
+
+        $id = $this->getSearchClassId();
+        $facetSettings = $configLoader->get($this->facetsIni);
+        if (isset($facetSettings->AvailableFacetSortOptions[$id])) {
+            foreach ($facetSettings->AvailableFacetSortOptions[$id]->toArray()
+                     as $facet => $sortOptions
+            ) {
+                $this->facetSortOptions[$facet] = [];
+                foreach (explode(',', $sortOptions) as $fieldAndLabel) {
+                    list($field, $label) = explode('=', $fieldAndLabel);
+                    $this->facetSortOptions[$facet][$field] = $label;
+                }
+            }
+        }
     }
 
     /**
@@ -473,13 +487,15 @@ abstract class Options implements TranslatorAwareInterface
     }
 
     /**
-     * Get an array of sort options for facets.
+     * Get an array of sort options for a facet.
+     *
+     * @param string $facet Facet
      *
      * @return array
      */
-    public function getFacetSortOptions()
+    public function getFacetSortOptions($facet = '*')
     {
-        return $this->facetSortOptions;
+        return $this->facetSortOptions[$facet] ?? $this->facetSortOptions['*'] ?? [];
     }
 
     /**
diff --git a/module/VuFind/src/VuFind/Search/Solr/Options.php b/module/VuFind/src/VuFind/Search/Solr/Options.php
index d15add0c4e2719863e7d79e9f46a4d4c08937d10..2ddac83d9550325306880477f9135b7a88909f09 100644
--- a/module/VuFind/src/VuFind/Search/Solr/Options.php
+++ b/module/VuFind/src/VuFind/Search/Solr/Options.php
@@ -46,8 +46,7 @@ class Options extends \VuFind\Search\Base\Options
      * @var array
      */
     protected $facetSortOptions = [
-        'count' => 'sort_count',
-        'index' => 'sort_alphabetic'
+        '*' => ['count' => 'sort_count', 'index' => 'sort_alphabetic']
     ];
 
     /**