diff --git a/facetapi.admin.inc b/facetapi.admin.inc
index 204a850..19ee63b 100644
--- a/facetapi.admin.inc
+++ b/facetapi.admin.inc
@@ -74,6 +74,12 @@ function facetapi_realm_settings_form($form, &$form_state, $searcher, $realm_nam
       'title' => t('Export configuration'),
       'href' => facetapi_get_settings_path($searcher, $realm['name'], $facet_name, 'export')
     );
+    if ($settings->export_type & EXPORT_IN_CODE && $settings->export_type & EXPORT_IN_DATABASE) {
+      $operations[] = array(
+        'title' => t('Revert configuration'),
+        'href' => facetapi_get_settings_path($searcher, $realm['name'], $facet_name, 'revert')
+      );
+    }
 
     $form['table']['operations'][$facet_name] = array(
       '#theme' => 'links__ctools_dropbutton',
@@ -1173,6 +1179,8 @@ function facetapi_facet_dependencies_form_submit($form, &$form_state) {
  * @ingroup forms
  */
 function facetapi_export_form($form, &$form_state, FacetapiAdapter $adapter, array $realm, array $facet) {
+  $form['facet'] = array();
+  $form['global'] = array();
 
   // Adds link to get back to list page.
   $form['back'] = array(
@@ -1181,13 +1189,95 @@ function facetapi_export_form($form, &$form_state, FacetapiAdapter $adapter, arr
     '#href' => $adapter->getPath($realm['name']),
   );
 
-  // Gets export fieldset from ctools_export_form().
-  $title = t('Export configuration');
-  $settings = $adapter->getFacet($facet)->getSettings($realm);
+  // Gets export fieldset for display settings.
+  $title = t('Display settings');
+  $settings = $adapter->getFacetSettings($facet, $realm);
   $export = ctools_export_crud_export('facetapi', $settings);
-  $form = ctools_export_form($form, $form_state, $export, $title);
+  $form['facet'] = ctools_export_form($form['facet'], $form_state, $export, $title);
+
+  // Gets export fieldset for display settings.
+  $title = t('Global settings');
+  $settings = $adapter->getFacetSettingsGlobal($facet);
+  $export = ctools_export_crud_export('facetapi', $settings);
+  $form['global'] = ctools_export_form($form['global'], $form_state, $export, $title);
 
   // Adds settings and returns form.
   $form['#settings'] = $settings;
   return $form;
 }
+
+/**
+ * Form constructor for the revert form.
+ *
+ * @param FacetapiAdapter $adapter
+ *   The adapter object the settings apply to.
+ * @param array $realm
+ *   The realm definition.
+ * @param array $facet
+ *   The facet definition.
+ *
+ * @ingroup forms
+ */
+function facetapi_revert_form($form, &$form_state, FacetapiAdapter $adapter, array $realm, array $facet) {
+
+  $form['#facetapi'] = array(
+    'adapter' => $adapter,
+    'realm' => $realm,
+    'facet' => $facet,
+  );
+
+  $form['text'] = array(
+   '#markup' => '<p>' . t('Any changes you have made will be lost and cannot be recovered.') . '</p>',
+  );
+
+  $form['revert_global'] = array(
+    '#type' => 'checkbox',
+    '#title' => t('Revert global configurations in addition to per-facet display configurations'),
+  );
+
+  $form['actions'] = array(
+    '#type' => 'actions',
+    '#weight' => 20,
+  );
+
+  $form['actions']['submit'] = array(
+    '#type' => 'submit',
+    '#value' => t('Revert configuration'),
+  );
+
+  $form['actions']['cancel'] = array(
+    '#type' => 'link',
+    '#title' => t('Cancel'),
+    '#href' => $adapter->getPath($realm['name']),
+    '#attributes' => array('title' => t('Do not revert configurations')),
+  );
+
+  $form['#submit'][] = 'facetapi_revert_form_submit';
+
+  return $form;
+}
+
+/**
+ * Form submission handler for facetapi_revert_form_submit().
+ */
+function facetapi_revert_form_submit($form, &$form_state) {
+
+  // Pulls variables for code readability.
+  $adapter = $form['#facetapi']['adapter'];
+  $realm = $form['#facetapi']['realm'];
+  $facet = $form['#facetapi']['facet'];
+
+  // Reverts per-facet display settings.
+  $settings = $adapter->getFacetSettings($facet, $realm);
+  ctools_export_crud_delete('facetapi', $settings);
+
+  // Reverts global settings if selected.
+  if ($form_state['values']['revert_global']) {
+    $settings = $adapter->getFacetSettingsGlobal($facet);
+    ctools_export_crud_delete('facetapi', $settings);
+  }
+
+  // Sets message if both sets of configurations were saved.
+  drupal_set_message(t('The configuration options have been reverted.'));
+  $form_state['redirect'] = $adapter->getPath($realm['name']);
+}
diff --git a/facetapi.install b/facetapi.install
index a605ca0..0d5a876 100644
--- a/facetapi.install
+++ b/facetapi.install
@@ -15,14 +15,12 @@ function facetapi_schema() {
       'key' => 'name',
       'identifier' => 'facet',
       'default hook' => 'facetapi_default_facet_settings',
-      'status' => 'facetapi_facet_status',
       'api' => array(
         'owner' => 'facetapi',
-        'api' => 'facetapi',
+        'api' => 'facetapi_defaults',
         'minimum_version' => 1,
         'current_version' => 1,
       ),
-      'export callback' => 'facetapi_export_facet_settings',
     ),
     'fields' => array(
       'name' => array(
diff --git a/facetapi.module b/facetapi.module
index 054bba9..c11218f 100644
--- a/facetapi.module
+++ b/facetapi.module
@@ -200,6 +200,16 @@ function facetapi_menu() {
     'file' => 'facetapi.admin.inc',
   );
 
+  $items['admin/config/search/facetapi/%facetapi_adapter/%facetapi_realm/%facetapi_facet/revert'] = array(
+    'title' => 'Revert facet configuration',
+    'load arguments' => array(4),
+    'page callback' => 'drupal_get_form',
+    'page arguments' => array('facetapi_revert_form', 4, 5, 6),
+    'access callback' => 'facetapi_access_callback',
+    'type' => MENU_NORMAL_ITEM,
+    'file' => 'facetapi.admin.inc',
+  );
+
   return $items;
 }
 
