diff --git a/src/plugins/aorai/data_for_aorai.ml b/src/plugins/aorai/data_for_aorai.ml
index cf5032895a332a10c0174e2cce7c0347243f91bf..7e4985c84147a9eee7439a4b7bddb7061cb98579 100644
--- a/src/plugins/aorai/data_for_aorai.ml
+++ b/src/plugins/aorai/data_for_aorai.ml
@@ -2018,14 +2018,8 @@ let removeUnusedTransitionsAndStates () =
       (Aorai_state.Set.add state set)
   in
   let reached _ state set = Aorai_state.Map.fold treat_one_state state set in
-  let init =
-    List.fold_left
-      (fun acc x ->
-         if x.init = Bool3.True then Aorai_state.Set.add x acc else acc)
-      Aorai_state.Set.empty
-      (fst (getAutomata()))
-  in
-  let reached_states = Pre_state.fold reached init in
+  let init = Path_analysis.get_init_states (getAutomata ()) in
+  let reached_states = Pre_state.fold reached (Aorai_state.Set.of_list init) in
   let reached_states = Post_state.fold reached reached_states in
   let reached_states = Loop_init_state.fold reached reached_states in
   let reached_states = Loop_invariant_state.fold reached reached_states in