It's because it is testing all of those conditions every tick and so only paying attention to the last two. The tree works because it is the last in the list - Change the order of the events so that the events testing for the house are last and it will work for the house and not the tree. Perhaps if you changed your conditions to an 'on collision' test? Maybe that would work?