diff --git a/src/main/java/info/textgrid/services/aggregator/zip/ZipResult.java b/src/main/java/info/textgrid/services/aggregator/zip/ZipResult.java
index 60cf48bb9ca163a493d7b3cf9fac18f2212c13c2..3142deda3981d8180f3627cb30fd845bbd73fbe0 100644
--- a/src/main/java/info/textgrid/services/aggregator/zip/ZipResult.java
+++ b/src/main/java/info/textgrid/services/aggregator/zip/ZipResult.java
@@ -107,12 +107,14 @@ private void addToMapping(ImportMapping mapping, AggregationEntry entry) {
 		}
 	}
 
-	private void writeAggregation(ZipOutputStream zip, Aggregation root) throws IOException {
-		writeFile(zip, root);
-		zip.putNextEntry(new ZipEntry(root.getFileName(false).concat("/")));
+	private void writeAggregation(ZipOutputStream zip, Aggregation aggregation) throws IOException {
+		writeFile(zip, aggregation);
+		ZipEntry zipEntry = new ZipEntry(aggregation.getFileName(false).concat("/"));
+		zip.putNextEntry(zipEntry);
+		zipEntry.setTime(aggregation.getMetadata().getGeneric().getGenerated().getLastModified().toGregorianCalendar().getTimeInMillis());
 		zip.closeEntry();
 		
-		for (AggregationEntry child : root.getChildren()) {
+		for (AggregationEntry child : aggregation.getChildren()) {
 			if (child instanceof Aggregation)
 				writeAggregation(zip, (Aggregation) child);
 			else
@@ -123,6 +125,7 @@ private void writeAggregation(ZipOutputStream zip, Aggregation root) throws IOEx
 	private void writeFile(ZipOutputStream zip, AggregationEntry aggregationEntry) throws IOException {
 		writeMetadata(zip, aggregationEntry);
 		ZipEntry zipEntry = new ZipEntry(aggregationEntry.getFileName(true));
+		zipEntry.setTime(aggregationEntry.getMetadata().getGeneric().getGenerated().getLastModified().toGregorianCalendar().getTimeInMillis());
 		
 		ImportObject importObject = mapping.getImportObjectForTextGridURI(aggregationEntry.getTextGridURI().toString());
 		try {
@@ -158,7 +161,9 @@ private void writeFile(ZipOutputStream zip, AggregationEntry aggregationEntry) t
 	}
 
 	private void writeMetadata(ZipOutputStream zip, AggregationEntry aggregationEntry) throws IOException {
-		zip.putNextEntry(new ZipEntry(aggregationEntry.getFileName(true).concat(".meta")));
+		ZipEntry zipEntry = new ZipEntry(aggregationEntry.getFileName(true).concat(".meta"));
+		zipEntry.setTime(aggregationEntry.getMetadata().getGeneric().getGenerated().getLastModified().toGregorianCalendar().getTimeInMillis());
+		zip.putNextEntry(zipEntry);
 		ConfigurableXMLRewriter rewriter = new ConfigurableXMLRewriter(mapping, true);
 		rewriter.configure(URI.create("internal:textgrid#metadata"));
 		if (aggregationEntry.getBase().isPresent())