SEEK_CUR starts from the current position. That is why your first seek works when you are at the beginning of the file. To always seek from the beginning you need to use SEEK_SET instead of SEEK_CUR.
0 SEEK_SET The beginning of the file
1 SEEK_CUR The current position
2 SEEK_END The end of the file