I looked for an answer and it looks like it might either be a ECU or distributor issue. The current codes are: P2646, P0420, P0139. My 2006 4 Cyl Honda Accord will not go past 3000RPM when it has been running for a while. When I was driving earlier I was on cruise control going 75mph. The check engine light came on and the cruise control turned off. At that point the car wouldn't go past 65mph and everytime it hit 3000 RPM it would start to shake and slow the car down. When the car has been sitting in the garage I can turn it on, step on the gas, and it goes over 3000rpm with no problem. Any idea of what it can be?