It's not a bug, it's just how Construct works.
When you say "Aim at <something in my container>", it aims at the paired instance from its container.
When you say "Aim at <any old object>", it usually just picks the first.
For Each is the way around it.