Hi, I realized a weird behaviour when using boost::fsm. Here's my state setup: I have a parent state which has two substates. One is basicly a noop as InnerInitial, the other is and OptionsDialog. Now, in a custom_reaction's react function in the parent state, I call transit<OptionsDialog> in order to go to the OptionsDialog-substate. What happens is that the parentstate itself is destroyed and reentered, then it enters the OptionsDialog state. Something similar happens when I use transit<ParentState> to go back to the ParentState (which should automatically enter the InnerInitial, no?). It exits the OptionsDialog, then exits ParentState and reenters ParentState (I haven't checked if it enters the InnerInitial). If in the OptionsDialog, I do a transit<NoOpInnerInitial> it just goes there without first destroying the parent-state (just exits OptionsDialog but not ParentState). Is this the expected behaviour, if so, could someone explain how to get the desired behaviour? Thanks, Jan Eickmann