about grammar

I missed the bus yesterday and had to wait for 15-20 minutes. Then another bus came and I took that bus.

Is the grammar of this sentence fine?

It is, but if you want to avoid repetition of some words, you could say:

I missed the bus yesterday and had to wait 15 to 20 minutes for another one, which I then caught/took.