Description of problem: I have seen this several times. I was not sure how it happened. I think I see the pattern. User1 has a job running with SystemX User2 has a multihost job queued, SystemX matches and could be used for multihost job. User3 has an Urgent job scheduled for SystemX. When User1 job finishes, User2 job is run. User3 is stilled queued.
This behaviour is (unfortunately) intentional. It was the only way we could figure out to avoid deadlocks between multihost jobs fighting for the same sets of systems: bug 889065. Right now I'm not sure of any way we can improve on this without reintroducing the deadlocking problem for multihost jobs.