SDXC 64 GBytes: Read 3F 08 hexadecimal when it should be 00 00.

I am writing a driver for SDHC and SDXC cards. I am using a one data line SPI interface with a 2 MHz clock. (I have tried with 400 kHz as well, the result is the same).
The driver works fine for SDHC cards, but when I read a sector of 512 bytes from a SDXC card, I get wrong data.
On SDXC I get the following 8 bytes repeatedly: 00 00 00 00 00 00 00 3F 08 when they should be all 00.
I have used DiskEditor software to read the sectors as well and the data are indeed all 00 as expected.
When I read the Master Boot Sector (sector zero) there are a few non-zero bytes in the sector. They are received correctly by my driver as long as the bytes are not coinciding with the 3F or 08 positions in the repeated pattern of 8 bytes = 00 00 00 00 00 00 3F 08, then the correct data are overwritten by 3F 08.
I have searched for this on the internet and also in the SD card specification, but I can’t find a reason or something I should do specifically in case of an SDXC card.
What could be the reason?