Same IP changes the city

Hello, I have another strange phenomenon to report. I understand that the geolocalisation is not accurate, but I really have difficulty figuring out
where this can come from.

So here are the details.

I use geolocation by GeoIP(php) location provider. I haven’t updated the GeoIP database after the installation. A visitor from a same adress is
considered as coming from “Le Poizat” at one visit, “L’isle-d’Abeau” at the next visit, and “Lyon” at the following visit. How does this happen?

Also, is there any way to fix this (just this particular record, manually launching sql query if needed)?

Thank you in advance.