Hi, my check engine light came on sometime ago (it is does go off and on periodically) on my 2006 Hummer H3 and I used my scanner to pull the codes P0106 and P0128. It runs rough at idle and gets better as I speed up. I had some unrelated repairs to my Hummer and the dealership informed me that the thermostat was the reason for the codes. My radiator also had a small crack on top so I replaced the radiator and the thermostat myself. The codes still triggered my check engine light off and on periodically. Therefore, I replaced both the MAP sensor and the Coolant Temperature sensor. After installing both, the check engine light was already off and I noticed it was running much smoother at idle. The next day I took it for an oil change and after the oil change I noticed it running rougher almost instantly. Today my check engine light came back on and both codes showed up again and the idle is rough just like before. Any assistance would be greatly appreciated.