Further speed tweak; poll only when sensible