diff --git a/PelEntry.php b/PelEntry.php
index <HASH>..<HASH> 100644
--- a/PelEntry.php
+++ b/PelEntry.php
@@ -172,8 +172,8 @@ abstract class PelEntry {
       $d = explode('-', strtr($data->getBytes(0, -1), '.: ', '---'));
       // TODO: handle timezones.
       require_once('PelEntryAscii.php');
-      return new PelEntryTime($tag, mktime($d[3], $d[4], $d[5],
-                                               $d[1], $d[2], $d[0]));
+      return new PelEntryTime($tag, gmmktime($d[3], $d[4], $d[5],
+                                             $d[1], $d[2], $d[0]));
 
     case PelTag::COPYRIGHT:
       if ($format != PelFormat::ASCII)
The timestamps should be treated uniformly as UTC time, and not local
time, otherwise we cannot guarantee a safe round trip where an entry
is written to a file and then later retrieved.