@bitgeeky , you want to put 
`self.wait_for_condition(lambda m: self.apps.displayed_app.name == messaging_settings.name) `
inside `tap_settings` because it is tap settings which causes the frame change.

The you can leave this wait as it is here.