diff --git a/entityreference.install b/entityreference.install
index ce61018..f0cdf4c 100644
--- a/entityreference.install
+++ b/entityreference.install
@@ -188,3 +188,11 @@ function entityreference_update_7100() {
     db_rename_table('taxonomy_index_tmp', 'taxonomy_index');
   }
 }
+
+/**
+ * Clear caches for field settings change.
+ * @see https://www.drupal.org/node/2185019.
+ */
+function entityreference_update_7101() {
+  field_info_cache_clear();
+}
diff --git a/entityreference.module b/entityreference.module
index c0c9f58..1f22471 100644
--- a/entityreference.module
+++ b/entityreference.module
@@ -735,6 +735,7 @@ function entityreference_field_widget_info() {
     'field types' => array('entityreference'),
     'settings' => array(
       'match_operator' => 'CONTAINS',
+      'max_results' => 10,
       'size' => 60,
       // We don't have a default here, because it's not the same between
       // the two widgets, and the Field API doesn't update default
@@ -749,6 +750,7 @@ function entityreference_field_widget_info() {
     'field types' => array('entityreference'),
     'settings' => array(
       'match_operator' => 'CONTAINS',
+      'max_results' => 10,
       'size' => 60,
       // We don't have a default here, because it's not the same between
       // the two widgets, and the Field API doesn't update default
@@ -793,6 +795,13 @@ function entityreference_field_widget_settings_form($field, $instance) {
       ),
       '#description' => t('Select the method used to collect autocomplete suggestions. Note that <em>Contains</em> can cause performance issues on sites with thousands of nodes.'),
     );
+    $form['max_results'] = array(
+      '#type' => 'textfield',
+      '#title' => t('Maximum number of results'),
+      '#default_value' => $settings['max_results'],
+      '#element_validate' => array('_element_validate_integer_positive'),
+      '#required' => TRUE,
+    );
     $form['size'] = array(
       '#type' => 'textfield',
       '#title' => t('Size of textfield'),
@@ -1107,7 +1116,7 @@ function entityreference_autocomplete_callback_get_matches($type, $field, $insta
 
   if (isset($tag_last)) {
     // Get an array of matching entities.
-    $entity_labels = $handler->getReferencableEntities($tag_last, $instance['widget']['settings']['match_operator'], 10);
+    $entity_labels = $handler->getReferencableEntities($tag_last, $instance['widget']['settings']['match_operator'], $instance['widget']['settings']['max_results']);
     $denied_label = t(ENTITYREFERENCE_DENIED);
     // Loop through the products and convert them into autocomplete output.
     foreach ($entity_labels as $values) {
