Fix #692, #650, #649, #646, #644, #632, #607, #599, #526