diff --git a/src/main/java/gov/usgs/earthquake/nshmp/www/gmm/GmmCalc.java b/src/main/java/gov/usgs/earthquake/nshmp/www/gmm/GmmCalc.java
index ef285d34066e82be80aa31bc54e82c70f08d8a81..a55b1621cad32708db6d868f3309dc7344e3a9d9 100644
--- a/src/main/java/gov/usgs/earthquake/nshmp/www/gmm/GmmCalc.java
+++ b/src/main/java/gov/usgs/earthquake/nshmp/www/gmm/GmmCalc.java
@@ -52,12 +52,16 @@ class GmmCalc {
           .map(imt -> gmm.instance(imt).calc(request.input))
           .collect(Collectors.toList());
 
+      List<Double> saPeriods = saImts.stream()
+        .map(imt -> imt.period())
+        .collect(Collectors.toList());
+
       gmmSpectra.put(
           gmm,
           new GmmSpectraData(
               treeToDataGroup(gmm, Imt.PGA, request.input),
               treeToDataGroup(gmm, Imt.PGV, request.input),
-              treesToDataGroup(Imt.periods(saImts), saImtTrees)));
+              treesToDataGroup(saPeriods, saImtTrees)));
     }
 
     return gmmSpectra;