This is a construction that is restricted to certain dialects of US English. It is not ungrammatical; that is, when someone says a sentence like this they are not making a speech error. Instead, this construction is simply non-standard. It so happens that the same construction is standard in German. What is going on is a process called "modal stacking", where multiple modal verbs (e.g. "could", "should", "might", "would", etc.) can be stacked on top of each other. *Each added modal verb contributes towards the overall meaning of the sentence.* In Standard English, to convey the same meaning, we have to use another construction: > I might **could** do that. --> I might **be able** to do that. We are doing effectively the same thing in standard English in terms of semantics, it's just that we have to change things around to get around a syntactic restriction. Despite what waiwai933 says, these constructions are not redundant by definition (they are only redundant if you stack them redundantly!). I fail to see how either "I might do that" or "I could do that" would have the same meaning. Other constructions include: > - I might should do that. (= "Maybe I should do that") > - I used to could do that. (= "I used to be able to do that") Linguistically, it is completely valid, and isn't sloppy, meaningless, or redundant — as I said, they do this in German. It is just non-standard in English.