diff --git a/fullcalendar.module b/fullcalendar.module
index 32e141f..dcdf4bd 100644
--- a/fullcalendar.module
+++ b/fullcalendar.module
@@ -171,9 +171,23 @@ function fullcalendar_fullcalendar_classes($entity) {
   return $classes;
 }
 
-function fullcalendar_get_settings($options) {
+function fullcalendar_get_settings($view) {
   global $language;
 
+  $options = $view->style_options;
+  static $dom_id = 1;
+  if (empty($view->dom_id)) {
+    $view->dom_id = 'fc-' . $dom_id++;
+  }
+  $options['dom_id'] = '.view-dom-id-' . $view->dom_id;
+
+  $options['gcal'] = array();
+  foreach ($view->field as $field) {
+    if ($field->field == 'gcal') {
+      $options['gcal'][] = $field->render(array());
+    }
+  }
+
   $settings = array(
     $options['dom_id'] => array(
       'defaultView' => $options['display']['fc_view'],
diff --git a/includes/views/handlers/fullcalendar_handler_area_empty.inc b/includes/views/handlers/fullcalendar_handler_area_empty.inc
index 339e08d..56199b1 100644
--- a/includes/views/handlers/fullcalendar_handler_area_empty.inc
+++ b/includes/views/handlers/fullcalendar_handler_area_empty.inc
@@ -7,7 +7,7 @@
 
 class fullcalendar_handler_area_empty extends views_handler_area {
   function render($empty = FALSE) {
-    fullcalendar_get_settings($this->view->style_options);
+    fullcalendar_get_settings($this->view);
     return '<div class="fullcalendar"></div>';
   }
 }
diff --git a/theme/theme.inc b/theme/theme.inc
index 6a6d372..1313a26 100644
--- a/theme/theme.inc
+++ b/theme/theme.inc
@@ -9,23 +9,7 @@
  * Passes options to the FullCalendar plugin as JavaScript settings.
  */
 function template_preprocess_fullcalendar(&$vars) {
-  $view = $vars['view'];
-  $options = $vars['options'];
-
-  static $dom_id = 1;
-  if (empty($view->dom_id)) {
-    $view->dom_id = 'fc-' . $dom_id++;
-  }
-  $options['dom_id'] = '.view-dom-id-' . $view->dom_id;
-
-  $options['gcal'] = array();
-  foreach ($view->field as $field) {
-    if ($field->field == 'gcal') {
-      $options['gcal'][] = $field->render(array());
-    }
-  }
-
-  fullcalendar_get_settings($options);
+  fullcalendar_get_settings($vars['view']);
 }
 
 /**
