diff --git a/pycgtool/frame.py b/pycgtool/frame.py
index f7d0c831473e45e413b97010ecc5904d011f8e24..eee0ac402c4e110449ef757ca83057e70ff4f118 100644
--- a/pycgtool/frame.py
+++ b/pycgtool/frame.py
@@ -135,6 +135,7 @@ class Frame:
         """
         self.residues = []
         self.number = frame_start - 1
+        self.time = 0
         self.numframes = 0
         self.natoms = 0
         self.box = np.zeros(3, dtype=np.float32)
@@ -249,6 +250,7 @@ class Frame:
                     i += 1
 
             self.number += 1
+            self.time = xtc_frame.time[0]
             self.box = xtc_frame.unitcell_lengths[0]
             return True
         # IndexError - run out of xtc frames
@@ -274,6 +276,7 @@ class Frame:
                     atom.coords = self.xtc.x[i]
                     i += 1
             self.number += 1
+            self.time = self.xtc.time
 
             self.box = np.diag(self.xtc.box)[0:3] / 10
 
@@ -303,13 +306,14 @@ class Frame:
                 xyz[0][i] = atom.coords
                 i += 1
 
+        time = np.array([self.time], dtype=np.float32)
         step = np.array([self.number], dtype=np.int32)
 
         box = np.zeros((1, 3, 3), dtype=np.float32)
         for i in range(3):
             box[0][i][i] = self.box[i]
 
-        self._xtc_buffer.write(xyz, step=step, box=box)
+        self._xtc_buffer.write(xyz, time=time, step=step, box=box)
 
     def _parse_gro(self, filename):
         """
diff --git a/pycgtool/mapping.py b/pycgtool/mapping.py
index 8a72f455bdde7e6f02b08855bef544a8aa3b5c0e..e93a0101e20b8ec3a7a096dd2203765282643247 100644
--- a/pycgtool/mapping.py
+++ b/pycgtool/mapping.py
@@ -175,6 +175,7 @@ class Mapping:
             aa_residues = list(aa_residues)
             cgframe = self._cg_frame_setup(aa_residues, frame.name)
 
+        cgframe.time = frame.time
         cgframe.number = frame.number
         cgframe.box = frame.box