You're right! the correct answer is "finishes" But why do we use the simple present? The answer is: In this kind of sentence we have 2 kinds of clause, the dependant and independent clause. The dependant clause uses a present form, while the independent clause uses a future form.
e.g. I'm going to watch TV when I get home. If you realise, you'll notice that "when I get home" is an event that is going to happen in the future, but I used a simple form and that's because of what I've just said to you. Besides the fact that we use the simple present doesn't mean we can't be talking about the future. If you said: My flight leaves at 8:00 pm. you'd be using the simple present to refer to a future event; in this case a scheduled event, this is other function of the simple present when referring to a future event. If you want to learn more about English, visit www.facebook.com/englishlearning90