I agree with you, Kooyeen. The use of '
by the time' and '
still' in that sentence strikes me as wrong, too.
'By the time' means 'not later than the time'. Let's insert 'not later than the time' into the sentence and see if it makes any sense:
If you go now, not later than the time you arrive there, he will still be taking an afternoon nap. You had better wait a little while.
To me, that sentence makes no sense whatsoever.
EDIT:
Note to Anon:
It is the word 'when' that means 'at the time'. The word 'when' is fine in the sentence.