diff --git a/views_node_taxonomy_filter_handler_filter_tid.inc b/views_node_taxonomy_filter_handler_filter_tid.inc
index 0005105..78a5a73 100644
--- a/views_node_taxonomy_filter_handler_filter_tid.inc
+++ b/views_node_taxonomy_filter_handler_filter_tid.inc
@@ -57,10 +57,16 @@ class views_node_taxonomy_filter_handler_filter_tid extends views_handler_filter
     );
     $form['value'][] = array(
       '#type' => 'checkbox',
-      '#description' => t('Include child Terms?'),
+      '#title' => t('Include child Terms?'),
       '#default_value' => $default_child,
       '#multiple' => FALSE,
     );
+    
+    $form['value'][] = array(
+      '#type' => 'checkbox',
+      '#title' => t('Require matching value'),
+      '#description'=> t('If the node does not have a value for this field, no results will be shown'),
+    );
   }
 
   /**
@@ -163,10 +169,15 @@ class views_node_taxonomy_filter_handler_filter_tid extends views_handler_filter
       }
     }
     if (sizeof($tids) < 1) {
-      return;
+      //if we want to require this relationship, make tids 0 - there will never be terms with tid = 0 (autoincrement starts at 1)
+      if(isset($this->value[2]) && $this->value[2]){
+        $tids = 0;
+      } else {
+        return;
+      }
+    } else {
+      $tids = implode(',', $tids);
     }
-
-    $tids = implode(',', $tids);
     $alias = $this->query->ensure_table('taxonomy_index');
     $this->query->add_where_expression($this->options['group'], "$alias.tid IN ($tids)");
   }
