- Create a new thread without a poll (polls = 0)
- Create a reply with a poll (polls = 1)
- Trash the reply (polls = 0 because of ThreadEditor::rebuildThreadData not counting trashed posts)
- Delete the reply (polls = -1 because of PostAction::delete calling updateCounters for the poll count)
I suggest that the updateCounters call is replaced by a rebuildThreadData call, possibly the one a few lines above could just be moved down.