diff --git a/sites/all/modules/views/handlers/views_handler_filter_date.inc b/sites/all/modules/views/handlers/views_handler_filter_date.inc
index da9c3ba..05637aa 100644
--- a/sites/all/modules/views/handlers/views_handler_filter_date.inc
+++ b/sites/all/modules/views/handlers/views_handler_filter_date.inc
@@ -113,7 +113,7 @@ class views_handler_filter_date extends views_handler_filter_numeric {
       }
     }
     else {
-      if ($this->value['min'] == '' || $this->value['max'] == '') {
+      if ($this->value['min'] == '' && $this->value['max'] == '') {
         return FALSE;
       }
     }
@@ -125,24 +125,33 @@ class views_handler_filter_date extends views_handler_filter_numeric {
 
   function op_between($field) {
     if ($this->operator == 'between') {
-      $a = intval(strtotime($this->value['min'], 0));
-      $b = intval(strtotime($this->value['max'], 0));
+      $x = strtotime($this->value['min'], 0);
+      $y = strtotime($this->value['max'], 0);
     }
     else {
-      $a = intval(strtotime($this->value['max'], 0));
-      $b = intval(strtotime($this->value['min'], 0));
+      $x = strtotime($this->value['max'], 0);
+      $y = strtotime($this->value['min'], 0);
     }
-
+    
+    $a = intval($x);
+    $b = intval($y);
+    
     if ($this->value['type'] == 'offset') {
       $a = '***CURRENT_TIME***' . sprintf('%+d', $a); // keep sign
       $b = '***CURRENT_TIME***' . sprintf('%+d', $b); // keep sign
     }
     // %s is safe here because strtotime scrubbed the input and we might
     // have a string if using offset.
-    $this->query->add_where($this->options['group'], "$field >= %s", $a);
-    $this->query->add_where($this->options['group'], "$field <= %s", $b);
+    if($x !== FALSE && $y !== FALSE) {
+      $this->query->add_where($this->options['group'], "$field >= %s AND $field <= %s", $a, $b);
+    }
+    else if ($x !== FALSE) {
+      $this->query->add_where($this->options['group'], "$field >= %s", $a);
+    }
+    else if ($y !== FALSE) {
+      $this->query->add_where($this->options['group'], "$field <= %s", $b);
+    }
   }
-
   function op_simple($field) {
     $value = intval(strtotime($this->value['value'], 0));
     if (!empty($this->value['type']) && $this->value['type'] == 'offset') {
