For the generic wxTreeCtrl, if SelectItem is called when the item is already in desired state the item selection state is toggled.
Current workaround which I have been using is to check if item is already in desired state before calling SelectItem.
This doesn't occur on wxMSW.