diff --git a/search_api_autocomplete.admin.inc b/search_api_autocomplete.admin.inc
index 6ed527f..6be81f3 100644
--- a/search_api_autocomplete.admin.inc
+++ b/search_api_autocomplete.admin.inc
@@ -68,6 +68,7 @@ function search_api_autocomplete_admin_overview(array $form, array &$form_state,
         );
         $search['options'] += array(
           'result count' => TRUE,
+          'fields' => array(),
         );
         $types[$type]['searches'][$id] = entity_create('search_api_autocomplete_search', $search);
       }
@@ -227,6 +228,23 @@ function search_api_autocomplete_admin_search_edit(array $form, array &$form_sta
         'This option might not have an effect for some servers or types of suggestion.'),
     '#default_value' => !empty($search->options['results']),
   );
+
+  // Add a list of fields to include for autocomplete searches.
+  $fields = $search->index()->getFields();
+  $fulltext_fields = $search->index()->getFulltextFields();
+  $options = array();
+  foreach ($fulltext_fields as $field) {
+    $options[$field] = $fields[$field]['name'];
+  }
+  $form['options']['fields'] = array(
+    '#type' => 'checkboxes',
+    '#title' => t('Fields to use'),
+    '#description' => t('Select the fields which should be searched for matches when looking for autocompletion suggestions. Leave blank to use the same fields as the underlying search.'),
+    '#options' => $options,
+    '#default_value' => empty($search->options['fields']) ? array() : drupal_map_assoc($search->options['fields']),
+    '#attributes' => array('class' => array('search-api-checkboxes-list')),
+  );
+
   $custom_form = empty($form['options']['custom']) ? array() : $form['options']['custom'];
   if (!empty($type['config form']) && function_exists($type['config form']) && is_array($custom_form = $type['config form']($custom_form, $form_state, $search))) {
     $form['options']['custom'] = $custom_form;
@@ -275,6 +293,7 @@ function search_api_autocomplete_admin_search_edit_submit(array $form, array &$f
   $search = $form_state['search'];
   $search->enabled = $values['enabled'];
   $search->options['results'] = $values['options']['results'];
+  $search->options['fields'] = array_keys(array_filter($values['options']['fields']));
   if (isset($values['options']['custom'])) {
     // Take care of custom options that aren't changed in the config form.
     $old = empty($search->options['custom']) ? array() : $search->options['custom'];
diff --git a/search_api_autocomplete.entity.php b/search_api_autocomplete.entity.php
index e8e6274..f331e0f 100644
--- a/search_api_autocomplete.entity.php
+++ b/search_api_autocomplete.entity.php
@@ -48,6 +48,7 @@ class SearchApiAutocompleteSearch extends Entity {
    * An array of options for this search, containing any of the following:
    * - results: Boolean indicating whether to also list the estimated number of
    *   results for each suggestion (if possible).
+   * - fields: Array containing the fulltext fields to use for autocompletion.
    * - custom: An array of type-specific settings.
    *
    * @var array
diff --git a/search_api_autocomplete.pages.inc b/search_api_autocomplete.pages.inc
index 9ed30ad..030c129 100644
--- a/search_api_autocomplete.pages.inc
+++ b/search_api_autocomplete.pages.inc
@@ -19,7 +19,10 @@ function search_api_autocomplete_autocomplete(SearchApiAutocompleteSearch $searc
       // @todo Maybe make range configurable?
       $query->range(0, 10);
       $query->setOption('search id', 'search_api_autocomplete');
-      if ($fields) {
+      if (!empty($search->options['fields'])) {
+        $query->fields($search->options['fields']);
+      }
+      elseif ($fields) {
         $fields = explode(' ', $fields);
         $query->fields($fields);
       }
