The unpacking of the block states missed a single bit when the bits per value was 7. Every 7 bytes it would miss one bit and store it as 0 instead of the actual value. This happened because 0xfc was used instead of 0xfe. 0xfc has six bits set to 1 and two to 0. 0xfe has correctly set seven bits and one bit to 0. We need those seven bits and not just the six.