diff --git a/includes/date_api_filter_handler.inc b/includes/date_api_filter_handler.inc
index 6e2700e..67f230d 100644
--- a/includes/date_api_filter_handler.inc
+++ b/includes/date_api_filter_handler.inc
@@ -414,7 +414,7 @@ class date_api_filter_handler extends views_handler_filter_numeric {
   // have to adjust the values to match what should have been the default.
   // Overriding exposed_submit() will ensure that the $input value
   // used by Views has been adjusted to the right value.
-  function exposed_submit(&$form, &$form_state) { 
+  function exposed_submit(&$form, &$form_state) {
     if ($this->force_value) {
       $default = array();
       foreach (array('value', 'min', 'max') as $prefix) {
@@ -422,6 +422,19 @@ class date_api_filter_handler extends views_handler_filter_numeric {
       }
       $form_state['values'][$this->options['expose']['identifier']] = $default;
     }
+    if ($form['date_filter']['value']['#type'] == 'date_select') {
+      $granularity = $form['date_filter']['value']['#granularity'];
+      if (!empty($granularity)) {
+        foreach ($granularity as $key => $value) {
+          if($form['date_filter']['value']['#value'][$value]) {
+            $new_granularity = $value;
+          }
+        }
+        if ($new_granularity) {
+          $this->options['granularity'] = $new_granularity;
+        }
+      }
+    }
   }
 
   /**
@@ -582,4 +595,4 @@ class date_api_filter_handler extends views_handler_filter_numeric {
       }
     }
   }
-}
\ No newline at end of file
+}
