BLE decode advertising header packet incorrect

I have been decoding a BLE advertising packet, I am getting correct preamble and access address but once I try to decode the PDU starting with the header it is incorrect. The preamble and access address are simply decoded through GFSK , with the endian swapped on the access address. Is there typically some form of encoding used in the PDU header that could explain why I cannot decode the correct header? 

for example I am decoding the header to be 0x6F5B but using a BLE sig tester I can confirm the header is 0x201F, I know my decoding is working well before the header so I do not expect such drastic differences,

Thanks for your help in advance.