diff --git a/reference_option_limit.module b/reference_option_limit.module
index a7dc12a..e1b8bba 100644
--- a/reference_option_limit.module
+++ b/reference_option_limit.module
@@ -120,6 +120,19 @@ function reference_option_limit_form_field_ui_field_edit_form_alter(&$form, &$fo
       ),
     ),
   );
+  $form['instance']['options_limit_empty_behaviour'] = array(
+    '#type' => 'checkbox',
+    '#title' => t("Don't display any options if nothing is selected in the matching field"),
+    '#description' => t("When no limiting options are selected either all or no options can be shown."),
+//     '#options' => array('all' => t('Show all'), 'none' => t('Show none')),
+    '#default_value' => isset($form['#instance']['options_limit']) ? $form['#instance']['options_limit_empty_behaviour'] : array(),
+    '#states' => array(
+      // Only show the fields when the whole thing is enabled.
+      'visible' => array(
+       'input[name="instance[options_limit]"]' => array('checked' => TRUE),
+      ),
+    ),
+  );
 }
 
 /**
@@ -220,6 +233,7 @@ function reference_option_limit_field_widget_form_alter(&$element, &$form_state,
     // stashing them here, file a patch! ;)
     'entity_type'   => $context['instance']['entity_type'],
     'entity_bundle' => $context['instance']['bundle'],
+    'empty_behaviour' => $context['instance']['options_limit_empty_behaviour'],
   );
   // Allow for settings for more than one field.
   $form_state['reference_option_limit'][$field_name] = $settings;
@@ -329,6 +343,9 @@ function reference_option_limit_form_alter(&$form, &$form_state, $form_id) {
         // We currently treat multiple values on one field as an OR condition,
         // i.e., we limit by any of the values but not all of them.
         // @todo: Add a UI option to make this an AND condition.
+        if (empty($values) && ($settings['empty_behaviour'])) {
+          $values = array(0);
+        }
         if (!empty($values)) {
           $query->fieldCondition($field_name_matching, $column, $values, 'IN');
         }
