diff --git a/includes/date_api_argument_handler.inc b/includes/date_api_argument_handler.inc
index d329f7b..6d03d75 100644
--- a/includes/date_api_argument_handler.inc
+++ b/includes/date_api_argument_handler.inc
@@ -265,7 +265,12 @@ class date_api_argument_handler extends views_handler_argument_date {
   }
 
   function get_query_fields() {
-    $fields = date_api_fields($this->definition['base']);
+    if (!empty($this->definition['base'])) {
+      $fields = date_api_fields($this->definition['base']);
+    }
+    else {
+      $fields = date_api_fields($this->view->base_table);
+    }
     $fields = $fields['name'];
     $min_date = isset($this->min_date) ? $this->min_date : NULL;
     $min_utc = isset($this->min_utc) ? $this->min_utc : NULL;
@@ -308,6 +313,7 @@ class date_api_argument_handler extends views_handler_argument_date {
    * The argument sent may be found at $this->argument.
    */
   function query() {
+    $this->ensure_my_table();
     $block_identifier = date_block_identifier($this->view);
     if (!empty($this->view->block_identifier) || isset($_GET[$block_identifier])) {
       // Retrieve the block arguments in a way that will work for
diff --git a/includes/date_api_filter_handler.inc b/includes/date_api_filter_handler.inc
index 5526c84..31824de 100644
--- a/includes/date_api_filter_handler.inc
+++ b/includes/date_api_filter_handler.inc
@@ -579,7 +579,12 @@ class date_api_filter_handler extends views_handler_filter_numeric {
   }
 
   function get_query_fields() {
-    $fields = date_api_fields($this->definition['base']);
+    if (!empty($this->definition['base'])) {
+      $fields = date_api_fields($this->definition['base']);
+    }
+    else {
+      $fields = date_api_fields($this->view->base_table);
+    }
     $fields = $fields['name'];
     $this->query_fields = array();
     foreach ((array) $this->options['date_fields'] as $delta => $name) {
@@ -592,4 +597,4 @@ class date_api_filter_handler extends views_handler_filter_numeric {
       }
     }
   }
-}
\ No newline at end of file
+}
