I've seen this "looping" behavior in the past and I would suggest deleting the chaindata
deleting the chaindata
and then running geth --fast --cache=1024
geth --fast --cache=1024
.
The default datadir is:
Mac: ~/Library/Ethereum
Linux: ~/.ethereum
Windows: %APPDATA%/Ethereum
Delete the chaindata
subdirectory that you find.