It seems that the following examples are of different grammatical status::
a. ?Mary is waiting for him upon his arrival.
b. There is a letter waiting for him upon his arrival.
c. Mary is waiting to give John a book upon his arrival.
Why is a odd but b and c okay?