diff --git a/perl/iCal/Parser.pm b/perl/iCal/Parser.pm
index 40f50c3..d2f6c83 100644
--- a/perl/iCal/Parser.pm
+++ b/perl/iCal/Parser.pm
@@ -82,6 +82,30 @@ sub VCALENDAR {
 
     push @{$self->{ical}{cals}},\%props;
 }
+sub VTIMEZONE {
+  my ($self,$cal,$file)=@_;
+  my %props=();
+  $self->map_properties(\%props,$cal);
+  #(GMT-07.00) Mountain Time (US & Canada)
+  my $tz;
+  if ($props{TZID}=~/^\(GMT([^\)]+)\)\s+([\w\s]+)/) {
+    my $offset = $1;
+    my $name = $2;
+    if ($name =~ /mountain/i) {
+      $tz = 'US/Mountain';
+    }
+    elsif ($name =~ /pacific/i) {
+      $tz = 'US/Pacific';
+    }
+    elsif ($name =~ /adelaide/i) {
+      $tz = 'Australia/Adelaide';
+    }
+  }
+  if (!defined $tz) {
+    die("*** UNKNOWN TZ ***");
+  }
+  $self->{tz} = $tz;
+}
 sub VTODO {
     my($self,$todo)=@_;
     return if $self->{no_todos};
@@ -374,8 +398,7 @@ This module processes iCalendar (vCalendar 2.0) files as specified in RFC 2445
 into a data structure.
 It handles recurrences (C<RRULE>s), exclusions (C<EXDATE>s), event updates
 (events with a C<RECURRENCE-ID>), and nested data structures (C<ATTENDEES> and
-C<VALARM>s). It currently ignores the C<VTIMEZONE>, C<VJOURNAL> and
-C<VFREEBUSY> entry types.
+C<VALARM>s). It currently ignores the C<VJOURNAL> and C<VFREEBUSY> entry types.
 
 The data structure returned is a hash like the following:
 
