diff -ru calendar/includes/calendar_plugin_row.inc calendar_fixed/includes/calendar_plugin_row.inc
--- calendar/includes/calendar_plugin_row.inc	2012-02-28 17:28:05.000000000 -0600
+++ calendar_fixed/includes/calendar_plugin_row.inc	2012-03-03 18:27:46.368974270 -0600
@@ -362,7 +362,7 @@
       if ($is_field) {
 
         $delta = isset($row->$delta_field) ? $row->$delta_field : 0;
-        $items = field_get_items($this->view->base_table, $entity, $field_name, $this->language);
+        $items = field_get_items($this->entity_type, $entity, $field_name, $this->language);
         $item  = $items[$delta];
         $db_tz   = date_get_timezone_db($tz_handling, isset($item->$tz_field) ? $item->$tz_field : $date_info->display_timezone_name);
         $to_zone = date_get_timezone($tz_handling, isset($item->$tz_field) ? $item->$tz_field : $date_info->display_timezone_name);
@@ -377,7 +377,7 @@
         }
 
         $cck_field = field_info_field($field_name);
-        $instance = field_info_instance($this->view->base_table, $field_name, $entity->type);
+        $instance = field_info_instance($this->entity_type, $field_name, $this->type);
         $granularity = date_granularity_precision($cck_field['settings']['granularity']);
         $increment = $instance['widget']['settings']['increment'];
 
Only in calendar_fixed/includes: calendar_plugin_row.inc~
diff -ru calendar/includes/calendar.views_template.inc calendar_fixed/includes/calendar.views_template.inc
--- calendar/includes/calendar.views_template.inc	2012-02-28 17:28:05.000000000 -0600
+++ calendar_fixed/includes/calendar.views_template.inc	2012-03-03 18:39:32.981283139 -0600
@@ -39,9 +39,13 @@
 
             // See if this is a date field. Since fields might be shared
             // across bundles, make sure we haven't already processed this field.
-            $alias = 'field_data_' . $field_name . '.' . $field_name . '_value';
-            if ($alias == $name && !in_array($alias, $processed) && array_key_exists($entity_type, $base_tables)) {
-              $base_table = $base_tables[$entity_type];
+            // $alias = 'field_data_' . $field_name . '.' . $field_name . '_value';
+            // $alias will not work because $alias can be from multiple base_tables
+            // and we would not want to exclude a field from other base tables because
+            // it was used in one.
+            // Limiting the fields to date fields will make this loop more efficient
+            if ($field['module'] == 'date') {
+              $base_table = $info['base table'];
               $calendar_option = array(
                 'name' => 'calendar_' . $field_name,
                 'description' => t("A calendar view of the '@field_name' field in the '@base_table' base table.", array('@base_table' => $base_table, '@field_name' => $field_name)),
@@ -50,8 +54,7 @@
                 'field_name' => $field_name,
               );
               $view = calendar_views_template_construct($calendar_option);
-              $views[$view->name] = $view;        
-              $processed[] = $alias;
+              $views[$view->name] = $view;
             }
           }
         }
Only in calendar_fixed/includes: calendar.views_template.inc~
