diff --git a/src/main/java/gov/usgs/earthquake/nshmp/gmm/NgaEastUsgs_2017.java b/src/main/java/gov/usgs/earthquake/nshmp/gmm/NgaEastUsgs_2017.java
index 81a98414a71e8ee8bd34b48397ff50ebbaef1239..96939fc1a87e3783e8c59d502077c339f256a971 100644
--- a/src/main/java/gov/usgs/earthquake/nshmp/gmm/NgaEastUsgs_2017.java
+++ b/src/main/java/gov/usgs/earthquake/nshmp/gmm/NgaEastUsgs_2017.java
@@ -427,7 +427,9 @@ public abstract class NgaEastUsgs_2017 implements GroundMotionModel {
 
     @Override
     public LogicTree<GroundMotion> calc(GmmInput in) {
-      double cpa = log(ChapmanGuo_2021.cpaPsaRatio(imt, in.z2p5, in.Mw, in.rJB));
+      double cpa = Double.isNaN(in.z2p5)
+          ? 0.0
+          : log(ChapmanGuo_2021.cpaPsaRatio(imt, in.z2p5, in.Mw, in.rJB));
       Position p = tables[0].position(in.rRup, in.Mw);
       double[] μs = new double[MODEL_COUNT];
       for (int i = 0; i < MODEL_COUNT; i++) {
@@ -558,7 +560,9 @@ public abstract class NgaEastUsgs_2017 implements GroundMotionModel {
     @Override
     public LogicTree<GroundMotion> calc(GmmInput in) {
       GmmInput inRock = GmmInput.builder().fromCopy(in).vs30(3000).build();
-      double cpa = log(ChapmanGuo_2021.cpaPsaRatio(imt, in.z2p5, in.Mw, in.rJB));
+      double cpa = Double.isNaN(in.z2p5)
+          ? 0.0
+          : log(ChapmanGuo_2021.cpaPsaRatio(imt, in.z2p5, in.Mw, in.rJB));
       Position p = tables.values().iterator().next().position(in.rRup, in.Mw);
       double[] μs = new double[GMMS.size()];
       for (int i = 0; i < GMMS.size(); i++) {