Run from the UI thread. Seems to stabilize a little