diff --git a/src/main/java/gov/usgs/earthquake/nshmp/model/ModelLoader.java b/src/main/java/gov/usgs/earthquake/nshmp/model/ModelLoader.java index f8c6756a807f3a1526dea3320fe4914e1155097f..8a93b27a8a259d4cfa8b3818c4d7aa116deb57cb 100644 --- a/src/main/java/gov/usgs/earthquake/nshmp/model/ModelLoader.java +++ b/src/main/java/gov/usgs/earthquake/nshmp/model/ModelLoader.java @@ -868,7 +868,12 @@ abstract class ModelLoader { /* Expect one or more geojson polygon files. */ data.gridFeatureMap(ModelFiles.readGridFeatures(dir).orElseThrow()); - LogicTree<Path> rateTree = data.gridRateTree().orElseThrow(); + + /* + * Path based gridRateTree may be used on multiple branches; we + * therefore need to use a copy because graph won't support edge reuse. + */ + LogicTree<Path> rateTree = MfdTrees.copy(data.gridRateTree().orElseThrow()); treeBuilder.addBranches(branch, rateTree); for (Branch<Path> rateBranch : rateTree) {