It seems to happen randomly at no particular place/town. Also, I haven't really tired a crowded area but that would make sense.
I'm going to try and pull the SIM, reinsert, and reboot the phone. From what I've heard that's similar to the old *228 trick to reset/relearn the nearest towers.