The reason for this behavior is that the rules that were extracted from the semantic role labeled corpus could have isolated semantic roles in them which would not necessarily get connected to the right predicate or argument during decoding.
it is possible for a rule to only contain one or some of the semantic arguments of a predicate, and not even include the predicate itself, and therefore there is no guarantee that the predicate will be translated with the right arguments and in the right order.