Rules with multiple targets are almost never doing the right thing. In this case they're liable to execute the same commands multiple times. I see you have guards to prevent disasters, but I think there are better ways out there, see http://goo.gl/Qi6Qm8