diff --git a/plugins/facetapi/adapter.inc b/plugins/facetapi/adapter.inc
index 846e378..d2fdd7b 100644
--- a/plugins/facetapi/adapter.inc
+++ b/plugins/facetapi/adapter.inc
@@ -559,6 +559,7 @@ abstract class FacetapiAdapter {
     $name = $this->info['name'] . ':' . $realm['name'] . ':' . $facet['name'];
     if (!isset($this->settings[$name])) {
       $this->settings[$name] = $this->initSettingsObject($name, $facet['name'], $realm['name']);
+      $is_new = empty($this->settings[$name]->settings);
 
       // Use realm's default widget if facet doesn't define one.
       if (!empty($facet['default widget'])) {
@@ -579,12 +580,14 @@ abstract class FacetapiAdapter {
         'empty_behavior' => 'none',
       );
 
-      // Apply default sort settings.
-      $weight = -50;
-      foreach ($facet['default sorts'] as $sort => $default) {
-        $this->settings[$name]->settings['active_sorts'][$default[0]] = $default[0];
-        $this->settings[$name]->settings['sort_weight'][$default[0]] = $weight++;
-        $this->settings[$name]->settings['sort_order'][$default[0]] = $default[1];
+      // Apply default sort info if necessary.
+      if ($is_new) {
+        $weight = -50;
+        foreach ($facet['default sorts'] as $sort => $default) {
+          $this->settings[$name]->settings['active_sorts'][$default[0]] = $default[0];
+          $this->settings[$name]->settings['sort_weight'][$default[0]] = $weight++;
+          $this->settings[$name]->settings['sort_order'][$default[0]] = $default[1];
+        }
       }
 
       // Apply the widget plugin's default settings.
