diff --git a/theme/theme.inc b/theme/theme.inc
index d479eb5..655fb5d 100644
--- a/theme/theme.inc
+++ b/theme/theme.inc
@@ -245,6 +245,18 @@ function fullcalendar_prepare_events($view, $rows, $options) {
           }
 
           list($start, $end, $all_day) = $dates;
+
+          // Add a class if the event was in the past or is in the future, based
+          // on the end time. We can't do this in hook_fullcalendar_classes()
+          // because the date hasn't been processed yet.
+          $time_class = 'fc-event-now';
+          if (strtotime($end) < REQUEST_TIME) {
+            $time_class = 'fc-event-past';
+          }
+          else if (strtotime($start) > REQUEST_TIME) {
+            $time_class = 'fc-event-future';
+          }
+
           $event[] = array(
             '#theme' => 'link',
             '#text' => $item['rendered']['#markup'],
@@ -259,7 +271,7 @@ function fullcalendar_prepare_events($view, $rows, $options) {
                 'index' => $index,
                 'eid' => $entity->eid,
                 'entity_type' => $entity->entity_type,
-                'cn' => $entity->class,
+                'cn' => $entity->class . ' ' . $time_class,
                 'title' => strip_tags(htmlspecialchars_decode($entity->title, ENT_QUOTES)),
                 'class' => array('fullcalendar-event-details'),
               ),
