diff --git a/core/modules/views/lib/Drupal/views/Plugin/views/filter/BooleanOperator.php b/core/modules/views/lib/Drupal/views/Plugin/views/filter/BooleanOperator.php
index e5327f1..c6146d6 100644
--- a/core/modules/views/lib/Drupal/views/Plugin/views/filter/BooleanOperator.php
+++ b/core/modules/views/lib/Drupal/views/Plugin/views/filter/BooleanOperator.php
@@ -38,6 +38,40 @@ class BooleanOperator extends FilterPluginBase {
   // Whether to accept NULL as a false value or not
   var $accept_null = FALSE;
 
+
+
+  /**
+   * {@inheritdoc}
+   */
+  function operator_options($which = 'title') {
+    $options = array();
+    foreach ($this->operators() as $id => $info) {
+      $options[$id] = $info[$which];
+    }
+
+    return $options;
+  }
+
+  /**
+   * @TODO
+   */
+  public function operators() {
+    return array(
+      '=' => array(
+        'title' => t('Is equal to'),
+        'method' => 'queryOpBoolean',
+        'short' => t('='),
+        'values' => 1,
+      ),
+      '!=' => array(
+        'title' => t('Is not equal to'),
+        'method' => 'queryOpBoolean',
+        'short' => t('!='),
+        'values' => 1,
+      ),
+    );
+  }
+
   /**
    * Overrides \Drupal\views\Plugin\views\filter\FilterPluginBase::init().
    */
@@ -96,10 +130,6 @@ protected function defineOptions() {
     return $options;
   }
 
-  function operator_form(&$form, &$form_state) {
-    $form['operator'] = array();
-  }
-
   function value_form(&$form, &$form_state) {
     if (empty($this->value_options)) {
       // Initialize the array of possible values for this filter.
@@ -169,6 +199,13 @@ public function query() {
     $this->ensureMyTable();
     $field = "$this->tableAlias.$this->realField";
 
+    $info = $this->operators();
+    if (!empty($info[$this->operator]['method'])) {
+      $this->{$info[$this->operator]['method']}($field);
+    }
+  }
+
+  public function queryOpBoolean($field) {
     if (empty($this->value)) {
       if ($this->accept_null) {
         $or = db_or()
