Do you seed the random function before generating every random number? You should only seed it in the beginning... It looks like a bad RNG nonetheless.
afaik as I know, many random number generators just use the last number as input:
number1 = RNG(first_seed)
number2 = RNG(number1)
number3 = RNG(number2)
If you use a good RNG that works like that, it shouldn't matter if you reinitialize it every time (when it comes to computational cost). But if your RNG is really crappy, you can of course get similar numbers from similar seeds.