Hi Christophe, For an fsm with orthogonal regions if any region rejects an event (guard returns false), the library blocks all anonymous transitions. for example, an fsm has two regions. Region 0 returns HANDLED_TRUE, region 1 returns HANDLED_GUARD_REJECT for the same event. region_processing_helper combines it into a single "HANDLED_TRUE | HANDLED_GUARD_REJECT" value. However function process_event_internal<> (state_machine.hpp) creates handle_eventless_transitions_helper that takes (handled == HANDLED_TRUE) as a condition for allowing transitions. should it be (handled & HANDLED_TRUE)? as a result, fsm is stuck in event that has an anonymous transition to another event. PS. I've seen the same condition (handled == HANDLED_TRUE) in do_post_handle_deferred function, but I do not use deferred events so I did not check that part.