diff --git a/includes/calendar.inc b/includes/calendar.inc
index 37a1d08..fcb1b50 100644
--- a/includes/calendar.inc
+++ b/includes/calendar.inc
@@ -159,6 +159,10 @@ function calendar_build_day($curday, $view, $items) {
         foreach ($hour as $key => $item) {
           $count++;
           $types[$item->type] = $item;
+
+          // Add a delta to each item for theming perposes (makes it possible to add even/odd styles for example)
+          $item->delta = $count;
+
           if (!$view->date_info->mini && ($max_events == CALENDAR_SHOW_ALL || $count <= $max_events || ($count > 0 && $max_events == CALENDAR_HIDE_ALL))) {
             // Theme the item here unless this is a 'Day' or 'Week' view.
             // Day and week views need to do more processing before rendering
diff --git a/theme/calendar-month-node.tpl.php b/theme/calendar-month-node.tpl.php
index 4b72c6a..997a133 100644
--- a/theme/calendar-month-node.tpl.php
+++ b/theme/calendar-month-node.tpl.php
@@ -37,8 +37,8 @@
  * @see template_preprocess_calendar_month_node.
  */
 ?>
-<div class="view-item view-item-<?php print $view->name ?>">
-  <div class="<?php print $node->date_id; ?> calendar monthview">
+<div class="view-item view-item-<?php print $view->name ?> view-item-<?php print ($node->delta %2 == 0) ? 'even' : 'odd'; ?>">
+  <div class="<?php print $class; ?>">
     <?php print theme('calendar_stripe_stripe', $node); ?>
     <?php foreach ($fields as $field): ?>
       <div class="view-field view-data-<?php print $field['id']; ?> <?php print $field['id']; ?>">
diff --git a/theme/theme.inc b/theme/theme.inc
index 1f9617e..3009fff 100644
--- a/theme/theme.inc
+++ b/theme/theme.inc
@@ -598,6 +598,7 @@ function template_preprocess_calendar_node(&$vars) {
  * Format an calendar month node for display.
  */
 function template_preprocess_calendar_month_node(&$vars) {
+  $vars['class'] = $vars['node']->date_id . ' calendar monthview';
   template_preprocess_calendar_node($vars);
 }
 
