--- ../timeline.original/timeline.module	2008-06-03 00:36:47.000000000 -0700
+++ timeline.module	2008-06-03 02:32:37.000000000 -0700
@@ -496,6 +496,12 @@ function timeline_data($view, $view_args
   $events = array();
   foreach ($items->items as $item) {
     $node = node_load(array('nid' => $item->nid));
+    $node->teaser = node_view($node,$teasers,FALSE,$links);
+    $taxonomy_terms = taxonomy_node_get_terms($node->nid);
+    unset($icon);
+    foreach ($taxonomy_terms as $tid => $term) {
+        $icon = taxonomy_image_get_url($tid);
+    }
 
     $start_value = !empty($start_field) && !empty($item->$start_field) ? $item->$start_field : $node->created;
     $end_value = !empty($end_field) && !empty($item->$end_field) ? $item->$end_field : NULL;
@@ -510,8 +516,10 @@ function timeline_data($view, $view_args
       'end'         => $end_value ? timeline_format_iso8601_date($end_value) : NULL,
       //'isDuration'  => $end_value ? 'true' : 'false', // NOTE: broken with JSON when explicit
       'description' => check_markup($body_value, $body_format, FALSE),
+      'icon'        => $icon,
     );
     if (is_null($event['end']) || $event['start'] == $event['end']) unset($event['end']);
+    if (is_null($event['icon'])) unset($event['icon']);
     $events[] = $event;
   }
   return $events;
