diff --git a/facetapi.admin.inc b/facetapi.admin.inc
index 9d0d39f..094f011 100644
--- a/facetapi.admin.inc
+++ b/facetapi.admin.inc
@@ -553,6 +553,17 @@ function facetapi_facet_settings_form($form, &$form_state, FacetapiAdapter $adap
     '#description' => t('Do not process hierarchical relationships and display facet items as a flat list.'),
   );
 
+  $form['global']['facet_mincount'] = array(
+    '#type' => 'textfield',
+    '#access' => $facet['facet mincount allowed'] && $adapter->supportsFacetMincount(),
+    '#title' => t('Minimum facet count'),
+    '#size' => 5,
+    '#prefix' => '<div class="facetapi-global-setting">',
+    '#suffix' => '</div>',
+    '#default_value' => $global_settings->settings['facet_mincount'],
+    '#description' => t('Only display facets that are matched in at least this many documents.')
+  );
+
   $form['global']['facet_missing'] = array(
     '#type' => 'radios',
     '#access' => $facet['facet missing allowed'] && $adapter->supportsFacetMissing(),
diff --git a/facetapi.module b/facetapi.module
index 771bf8b..993081d 100644
--- a/facetapi.module
+++ b/facetapi.module
@@ -342,6 +342,7 @@ function facetapi_get_searcher_info() {
       'name' => $searcher,
       'type' => 'node',
       'supports facet missing' => FALSE,
+      'supports facet mincount' => FALSE,
     );
   }
   drupal_alter('facetapi_searcher_info', $searcher_info);
@@ -414,6 +415,7 @@ function facetapi_get_facet_info($searcher) {
           'default widget' => FALSE,
           'allowed operators' => array(FACETAPI_OPERATOR_AND => TRUE, FACETAPI_OPERATOR_OR => TRUE),
           'facet missing allowed' => FALSE,
+          'facet mincount allowed' => FALSE,
           'weight' => 0,
           'map callback' => FALSE,
           'map options' => array(),
@@ -551,6 +553,7 @@ function facetapi_facetapi_facet_info($searcher_info) {
       'description' => t('Filter by content type.'),
       'map callback' => 'facetapi_map_bundle',
       'values callback' => 'facetapi_callback_type_values',
+      'facet mincount allowed' => TRUE,
       'dependency plugins' => array('role'),
     );
 
@@ -560,6 +563,7 @@ function facetapi_facetapi_facet_info($searcher_info) {
       'field' => 'uid',
       'map callback' => 'facetapi_map_author',
       'values callback' => 'facetapi_callback_user_values',
+      'facet mincount allowed' => TRUE,
       'dependency plugins' => array('bundle', 'role'),
     );
 
@@ -569,6 +573,7 @@ function facetapi_facetapi_facet_info($searcher_info) {
       'field' => 'language',
       'map callback' => 'facetapi_map_language',
       'values callback' => 'facetapi_callback_language_values',
+      'facet mincount allowed' => TRUE,
       'dependency plugins' => array('bundle', 'role'),
     );
 
diff --git a/plugins/facetapi/adapter.inc b/plugins/facetapi/adapter.inc
index 5cc6237..dcc1081 100644
--- a/plugins/facetapi/adapter.inc
+++ b/plugins/facetapi/adapter.inc
@@ -344,7 +344,7 @@ abstract class FacetapiAdapter {
   }
 
   /**
-   * Returns TRUE if the back-end supports "missing".
+   * Returns TRUE if the back-end supports "missing" facets.
    *
    * @return bool
    *   TRUE or FALSE.
@@ -354,6 +354,16 @@ abstract class FacetapiAdapter {
   }
 
   /**
+   * Returns TRUE if the back-end supports "minimum facet counts".
+   *
+   * @return bool
+   *   TRUE or FALSE.
+   */
+  public function supportsFacetMincount() {
+    return $this->info['supports facet mincount'];
+  }
+
+  /**
    * Adds facet query type plugins to the queue and invokes the execute() hook
    * to allow for the backend to add filters to its native query object.
    *
@@ -948,6 +958,7 @@ class FacetapiFacet implements ArrayAccess {
           'operator' => FACETAPI_OPERATOR_AND,
           'hard_limit' => 50,
           'dependencies' => array(),
+          'facet_mincount' => 1,
           'facet_missing' => 0,
           'flatten' => 0,
         );
@@ -976,6 +987,7 @@ class FacetapiFacet implements ArrayAccess {
     }
     else {
       $settings->settings += array(
+        'facet_mincount' => 1,
         'facet_missing' => 0,
         'flatten' => 0,
       );
