diff --git a/src/main/java/gov/usgs/earthquake/nshmp/HazardCalc.java b/src/main/java/gov/usgs/earthquake/nshmp/HazardCalc.java
index dec96fb7781d59e970a839048ccb596ed16a3697..5fc4aef4fe4ac30a130c313c184e77cc01348125 100644
--- a/src/main/java/gov/usgs/earthquake/nshmp/HazardCalc.java
+++ b/src/main/java/gov/usgs/earthquake/nshmp/HazardCalc.java
@@ -23,6 +23,7 @@ import com.google.common.base.Throwables;
 import com.google.common.util.concurrent.MoreExecutors;
 
 import gov.usgs.earthquake.nshmp.calc.CalcConfig;
+import gov.usgs.earthquake.nshmp.calc.DataType;
 import gov.usgs.earthquake.nshmp.calc.Hazard;
 import gov.usgs.earthquake.nshmp.calc.HazardCalcs;
 import gov.usgs.earthquake.nshmp.calc.HazardExport;
@@ -113,6 +114,10 @@ public class HazardCalc {
       Path out = calc(model, config, sites, log);
       log.info(PROGRAM + ": finished");
 
+      if (config.output.dataTypes.contains(DataType.MAP)) {
+        HazardMaps.createDataSets(out, config.output.returnPeriods);
+      }
+
       /* Transfer log and write config, windows requires fh.close() */
       fh.close();
       Files.move(tmpLog, out.resolve(PROGRAM + ".log"));