If your GPS gets a decent lock and seems to follow your position (just with an offset), I'd suspect bad underlying map data (maybe google/ovi have a common provider?) Can you compare it with another GPS device?