Do you have a rule on the group you are sorting?
Sorting actually deletes and re-inserts the nodes - which means if you have a rule on the group, it will fire when the nodes are re-inserted.
I usually use a secondary data source (XML file) for conditions for this - I have a node called "isSorting" and set it to true right before I sort, and back to false after. Then I can set rules on the group that only execute if isSorting = false. Make sense?