diff --git a/search_api_autocomplete.entity.php b/search_api_autocomplete.entity.php
index ee6f434..e8e6274 100644
--- a/search_api_autocomplete.entity.php
+++ b/search_api_autocomplete.entity.php
@@ -121,10 +121,10 @@ class SearchApiAutocompleteSearch extends Entity {
   /**
    * Helper method for altering a textfield form element to use autocompletion.
    */
-  public function alterElement(array &$element) {
+  public function alterElement(array &$element, array $fields = array()) {
     if (user_access('use search_api_autocomplete') && $this->supportsAutocompletion()) {
       $element['#attached']['css'][] = drupal_get_path('module', 'search_api_autocomplete') . '/search_api_autocomplete.css';
-      $element['#autocomplete_path'] = 'search_api_autocomplete/' . $this->machine_name;
+      $element['#autocomplete_path'] = 'search_api_autocomplete/' . $this->machine_name . '/' . implode(' ', $fields);
     }
   }
 
diff --git a/search_api_autocomplete.pages.inc b/search_api_autocomplete.pages.inc
index 6786796..01245ee 100644
--- a/search_api_autocomplete.pages.inc
+++ b/search_api_autocomplete.pages.inc
@@ -8,7 +8,7 @@
 /**
  * Page callback for getting autocomplete suggestions.
  */
-function search_api_autocomplete_autocomplete(SearchApiAutocompleteSearch $search, $keys = '') {
+function search_api_autocomplete_autocomplete(SearchApiAutocompleteSearch $search, $fields, $keys = '') {
   $ret = array();
   if ($search->supportsAutocompletion()) {
     $server = $search->server();
@@ -19,6 +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) {
+        $fields = explode(" ", $fields);
+        $query->fields($fields);
+      }
       $query->preExecute();
       $suggestions = $server->getAutocompleteSuggestions($query, $search, $incomplete, $keys);
       if ($suggestions) {
diff --git a/search_api_autocomplete.search_api_views.inc b/search_api_autocomplete.search_api_views.inc
index 0bd5d10..4a28ed0 100644
--- a/search_api_autocomplete.search_api_views.inc
+++ b/search_api_autocomplete.search_api_views.inc
@@ -32,12 +32,18 @@ function search_api_autocomplete_form_views_exposed_form_alter(array &$form, arr
   // We need the _entity_views_field_identifier() function to translate Search
   // API field names into Views identifiers.
   module_load_include('views.inc', 'entity', 'views/entity');
-  foreach ($fields as $field) {
-    $field = _entity_views_field_identifier($field, array());
+  foreach ($fields as $search_field) {
+    $field = _entity_views_field_identifier($search_field, array());
     if (!empty($view->filter[$field]->options['expose']['identifier'])) {
       $key = $view->filter[$field]->options['expose']['identifier'];
       if (isset($form[$key]) && $form[$key]['#type'] == 'textfield') {
-        $search->alterElement($form[$key]);
+        if ($field == 'search_api_views_fulltext') {
+          $fields = $view->filter[$field]->options['fields'];
+        }
+        else {
+          $fields = array($search_field);
+        }
+        $search->alterElement($form[$key], $fields);
       }
     }
   }
