I've seen this "looping" behavior in the past and I would suggest [deleting the `chaindata`](https://ethereum.stackexchange.com/questions/2040/how-can-i-empty-the-blockchain-to-allow-for-fast-sync) and then running [`geth --fast --cache=1024`](https://ethereum.stackexchange.com/a/4210/42).

The default datadir is:

    Mac: ~/Library/Ethereum
    Linux: ~/.ethereum
    Windows: %APPDATA%/Ethereum

Delete the `chaindata` subdirectory that you find.