diff --git a/modules/date_ical/date_ical_plugin_row_ical_feed.inc b/modules/date_ical/date_ical_plugin_row_ical_feed.inc
index 7181811..cd4cff9 100644
--- a/modules/date_ical/date_ical_plugin_row_ical_feed.inc
+++ b/modules/date_ical/date_ical_plugin_row_ical_feed.inc
@@ -186,6 +186,7 @@ class date_ical_plugin_row_ical_feed extends views_plugin_row {
     $event['url'] = url($uri['path'], $uri['options']);
     $event['uid'] = !empty($entity->date_id) ? $entity->date_id[0] : $event['url'];
     $event['rrule'] = $is_field && array_key_exists('rrule', $item) ? $item['rrule'] : '';
+    $event['timezone'] = isset($item['timezone']) ? $item['timezone'] : 'UTC';
 
     return theme($this->theme_functions(),
       array(
diff --git a/modules/date_ical/theme/date-ical-vevent.tpl.php b/modules/date_ical/theme/date-ical-vevent.tpl.php
index 61eb0a5..e1d6233 100644
--- a/modules/date_ical/theme/date-ical-vevent.tpl.php
+++ b/modules/date_ical/theme/date-ical-vevent.tpl.php
@@ -38,13 +38,13 @@ print "DTSTAMP:" . $current_date . "Z\r\n";
 if ($event['all_day']):
   print "DTSTART;VALUE=DATE:" . $event['start'] . "\r\n";
 else:
-  print "DTSTART:" . $event['start'] . "Z\r\n";
+  print "2DTSTART;TZID=" . $event['timezone'] . ":" . $event['start'] . "\r\n";
 endif;
 if (!empty($event['end'])):
   if (!empty($event['all_day'])):
     print "DTEND;VALUE=DATE:" . $event['end'] . "\r\n";
   else:
-    print "DTEND:" . $event['end'] . "Z\r\n";
+    print "DTEND;TZID=" . $event['timezone'] . ":" . $event['start'] . "\r\n";
   endif;
 endif;
 if (!empty($event['rrule'])):
