From prior experience I would suspect a sticky thermostat, which keeps the engine from fully warming up.