No sense in guessing here... You need to have the car scanned and find out what the code is, there is history on it as to what it is. Once you get it, look it up and that will tell you what to fix.
If you want to keep it for half a mill miles, you better buy the service manuals!