probably a timing issue, as GH said. i have a similar problem, above 3000rpm my engine misfires continuously because the ECU is not retarding the timing (busted crank sensor). so in your case retarding the timing would reduce this effect (it would happen at higher rpm, or perhaps never at all..)

problem is i think this will reduce engine power significantly particularly at idle. not sure though..