The phrase ‘will take’ is incorrect.
The simple future tense cannot be used in clauses beginning with time expressions such as ‘when’, ‘while’, ‘before’, ‘after’, ‘unless’ etc. Simple present tense should be used rather than simple future tense.
Therefore, ‘will take’ must be replaced with ‘take’ to form a grammatically correct sentence.
Hence, option C is the correct answer.