diff --git a/spring-statemachine-core/src/main/java/org/springframework/statemachine/persist/AbstractStateMachinePersister.java b/spring-statemachine-core/src/main/java/org/springframework/statemachine/persist/AbstractStateMachinePersister.java index b7ef5f71..a9a6dd57 100644 --- a/spring-statemachine-core/src/main/java/org/springframework/statemachine/persist/AbstractStateMachinePersister.java +++ b/spring-statemachine-core/src/main/java/org/springframework/statemachine/persist/AbstractStateMachinePersister.java @@ -120,9 +120,12 @@ public abstract class AbstractStateMachinePersister implements StateMac for (State ss : states) { if (ss.isSubmachineState()) { StateMachine submachine = ((AbstractState) ss).getSubmachine(); - PseudoState hh = ((AbstractStateMachine) submachine).getHistoryState(); - if (hh != null) { - historyStates.put(ss.getId(), ((HistoryPseudoState)hh).getState().getId()); + PseudoState ps = ((AbstractStateMachine) submachine).getHistoryState(); + if (ps != null) { + State pss = ((HistoryPseudoState)ps).getState(); + if (pss != null) { + historyStates.put(ss.getId(), pss.getId()); + } } } }