diff --git a/src/builder/DdPrismModelBuilder.cpp b/src/builder/DdPrismModelBuilder.cpp index 2815bde0b..9098f285f 100644 --- a/src/builder/DdPrismModelBuilder.cpp +++ b/src/builder/DdPrismModelBuilder.cpp @@ -217,6 +217,11 @@ namespace storm { template void DdPrismModelBuilder::Options::preserveFormula(storm::logic::Formula const& formula) { + // If we already had terminal states, we need to erase them. + if (terminalStates) { + terminalStates.reset(); + } + // If we are not required to build all reward models, we determine the reward models we need to build. if (!buildAllRewardModels) { if (formula.containsRewardOperator()) { diff --git a/src/builder/ExplicitPrismModelBuilder.cpp b/src/builder/ExplicitPrismModelBuilder.cpp index fcffe1344..cf02700eb 100644 --- a/src/builder/ExplicitPrismModelBuilder.cpp +++ b/src/builder/ExplicitPrismModelBuilder.cpp @@ -156,6 +156,11 @@ namespace storm { template void ExplicitPrismModelBuilder::Options::preserveFormula(storm::logic::Formula const& formula) { + // If we already had terminal states, we need to erase them. + if (terminalStates) { + terminalStates.reset(); + } + // If we are not required to build all reward models, we determine the reward models we need to build. if (!buildAllRewardModels) { if (formula.containsRewardOperator()) {