Retain position of cursor in term lists after an action eg delete

The current algorithm which returns the cursor to the top of the term list is a nuisence

It should remain where it was. If it is on a term that is deleted it should go to the one above

To avoid discarding the existing code, there should be a checkbox to tick Retain cursor position

Thanks/gary