The issue was most likely related to a race condition (selectedTrackId can change in the UI thread, while the track is being processed in the handler thread). Simulated slow drawing by adding 50ms, works pretty cool :)