1999 Land Rover Discovery high idle

I have a high idle of 2000rpm and no vacuum leaks and no engine light on. The engine doesn’t even react at all when I disconnect the TPS, IAC valve or MAFS. What could be my problem?

Stuck or failed IAC valve is pretty likely.

Ok thank you. It’s a new one but I’ll buy another one. I didn’t think it could be a defected one. But it’s a great idea

Probably too late to help, but for anyone currently having this issue:

I had the same problem with my '96 4.0 V8 Discovery, and even after replacing the IACV it idled at 2k+ rpms until I shifted into D or R. Turns out that resetting the “adaptive values” through the ECU resets the bad data that the computer had been learning from the faulty IACV. After resetting the values, the truck idled great at 700rpm. Resetting the adaptive values is usually done with expensive diagnostic equipment at the dealer or a shop, but for the disco’s with the GEMS engines, there’s a great Android app called GEMS ECU Utility that you can use with a bluetooth OBD dongle to reset the values easily. I’m not 100% sure, but I think the 1999 Discovery has the Bosch, not GEMS, engine, so this might not work for you, but if you can take it to a shop specializing in Land Rovers, they can hook it up to the computer and reset the values, which will perhaps correct the idling issue like it did for me.

A bad coolant temp sensor for the computer can cause a fast idle.