We Are Celebrating 60 Years In Business!

Matt goes full throttle to fix BMW

In November 2015, one of my newer customers brought in his 2011 BMW Z4 35i because the service-engine-soon light went on.

He explained that the car did not idle well and was low on power. We connected the car to the Integrated Service Technical Application, because it was a post-2008 BMW, and were able to pull several codes related to the primary operation of the engine.

We pulled Digital Motor Electronics (DME) codes: DME 002CF6 Throttle valve potentiometer 1 – plausibility to air mass; DME 002CF7 Throttle valve potentiometer 2 – plausibility to air mass; and 002D2E DME Throttle valve angle – intake vacuum correction.


But one must be careful when reading codes. It would be easy to think that there may be a problem with the throttle body, but the third code is extremely important (DME 002D2E Throttle valve angle – intake vacuum correction). The correction code indicates that the volume of air entering the throttle is not the same amount being processed by the engine.

This air-to-fuel correction is called fuel trims, or lambda. A higher amount of fuel indicates that the system is rich, and the higher the ratio of air indicates that the system is lean. So we tested the throttle body and reset its adaptations.

We reviewed the data and saw that the car was running lean. The next step was to smoke-test the intake system. Once we started to pressurize smoke into the intake system, we noticed that it was escaping through a crack in the valve cover.

The late-model BMW valve covers house the crankcase breather valve. The breather valve takes unburned fuel and oil vapors from the crankcase and recirculates them through the intake so that they won’t escape into the atmosphere. The extra air pulled into the valve cover drives the fuel trims lean and starves the intake of fuel. The extra air would in turn cause a rough idle and poor acceleration. We replaced the valve cover and corrected the fuel trims.

Problem solved – or so we thought.


Eleven months and 3,800 miles later, the customer called to tell us that the service-engine-soon light went on again. He stated that the car was intermittently idling rough.

All three codes were back, but when we examinded the fuel trims, the car was not running lean. We then smoke-tested the intake and found no leaks.

We thought there might be a vacuum leaking internally. We performed an exhaustive smoke test on all intake-related systems and found no leaks.

The interesting thing was that as soon as we cleared the codes, 002D2E would come back within 1 mile or so of driving. Normally, it would take at least 10 miles of driving to set a fuel trim code.

We then checked the mass air sensor to see if it might be physically damaged. We found it contaminated with oil – it had gotten into the intake system when the valve cover/breather was cracked. The oil vapors were causing the sensor to read incorrectly.

We replaced the main air mass sensor and the car immediately sent code 002F0A – intake air-turbo sensor signal for the secondary pressure sensor. We replaced both air pressure sensors.

After driving the car for 10 miles, the check-engine light returned. The accompanying code read: DME 002D07 throttle.

This is where it gets crazy – there was no explanation for the code.

We contacted BMW’s technical support department and discovered there was no data for the code. While we continued to run diagnostics on the throttle, we checked the car’s software level. We found that it was operating on its original base programming and that there were multiple module and program updates available. We then performed a complete car reprogram and all available adaptions. After that, we drove the car for 280 miles without any problems.

When the customer picked it up, we told him that there was still a possibility that the throttle could have a problem, but at this time we felt that the mass air sensors and the reprogramming were adequate for the repair. We did not want to change the throttle unless it was absolutely necessary.


One month and 550 miles later, the service-engine-soon light lit up again. The codes: the DME 002D07 throttle and the 002CF6 throttle valve potentiometer 1 – plausibility to air mass. We then triple-checked all of our data and replaced the throttle.

This was one of the most challenging and exhaustive repairs we had ever performed. I personally do not want to say everything is OK until a year from now. The valve cover had caused fuel trim problems in three systems, yet there was also an intermittent problem in the throttle that was being blocked by the fuel trim codes. This reminds me to stay updated with as much information as possible and be patient with each repair.

Sunnyvale Foreign Car Service is committed to ensuring effective communication and digital accessibility to all users. We are continually improving the user experience for everyone, and apply the relevant accessibility standards to achieve these goals. We welcome your feedback. Please call Sunnyvale Foreign Car Service (650) 960-6988 if you have any issues in accessing any area of our website.