Am I missing the root cause of this?
I drive a 2008 Honda CRV. About 3 months ago I had some engine issues producing the error code shown above. I took the car to a mechanic to be looked at who told me it was likely a dirty engine that ruined the VVT Solenoid. I replaced the Solenoid (and the oil pressure sensor attached to solenoid) and the car has been running great for 3 months.
I recently just had the car start losing power when going to 3,000 rpm and the check engine light is back on throwing the same exact P2646 errors. I have been changing my engine oil every 2,500-3k miles since the last fix.
Is there some deeper issue that is causing these errors?