Jesus even writing at slack is a little nightmare, In my previous post there is a function called getLHeadlines that does the real work it uses two suspending functions running on IO thread, and when function ends in the main thread it changes the state variable statusapp to Idle, at that moment the composable function is recalled and paints the items, this works perfectly , only for some reason when I set the app to point to this screen again it reloads it's elements when there is no change in language status variable.... The state I use it basically to keep data alive between recompose calls, but it's not the crucial part of it. The main question is why onCommit(statusApp.lang) is called when statusApp.lang does not change at all .... I sincerely apologize for the confusion I might generate, and really thank every advice.