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 d3363524df9ab03544f70a92af12875cf5de67c7..aa7777a2ca415f57e1cae50a5f825fe080391aad 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
@@ -30,7 +30,6 @@ import gov.usgs.earthquake.nshmp.www.gmm.GmmService.Distance;
 import gov.usgs.earthquake.nshmp.www.gmm.GmmService.Magnitude;
 import gov.usgs.earthquake.nshmp.www.gmm.GmmService.Request;
 import gov.usgs.earthquake.nshmp.www.gmm.XyDataGroup.EpiSeries;
-
 import jakarta.inject.Singleton;
 
 /*
@@ -43,11 +42,12 @@ class GmmCalc {
 
   /* Compute ground motion response spectra. */
   static Map<Gmm, GmmSpectraData> spectra(Request request) {
-    Set<Imt> saImts = Gmm.responseSpectrumImts(request.gmms);
 
     Map<Gmm, GmmSpectraData> gmmSpectra = new EnumMap<>(Gmm.class);
 
     for (Gmm gmm : request.gmms) {
+      Set<Imt> saImts = gmm.responseSpectrumImts();
+
       List<LogicTree<GroundMotion>> saImtTrees = saImts.stream()
           .map(imt -> gmm.instance(imt).calc(request.input))
           .collect(Collectors.toList());