Gen 9:18 is when Ham is first mentioned as the father of Canaan, not when Noah is drunk. Also, the Bible does not state that all of Ham's children are cursed, just Canaan. I think it may be this way, because Ham is Noah's youngest,so he curses Ham's youngest!
The scripture specifically states that he said, Cursed be Canaan; a servant of servants shall he(not they) be unto his(not their) brethren. We should not add to or take away...Ham's other sons were not cursed by Noah according to the Word of God!