Register read bugs from ADT4720 over I2C with Due/Mega

Hi All.
I'm really tearing my hair out here. My code is supposed to request the ID register, which should read 0xCB, but my temperature sensor will only return 4bits at a time. Usually 0b1100 but sometimes 0b1001.

Here is my code:

#include  <Wire.h>
int thermometer_address = 73; //ADT7420 address

//define registers
byte id_register = 11;
byte value;
  
void setup()
{
  //Initiate serial pc link
  Serial.begin(9600);
  
  //Initiate I2C with Arduino as master
  Wire.begin();
  
  delay(100);
  
  Wire.beginTransmission(thermometer_address); //start transmission
  Wire.write(id_register); //Ask for register
  Wire.endTransmission(); //Complete Transmission

  Wire.requestFrom(73, 1); //Request Byte(s)
  while(Wire.available() == 0); //wait for response
  byte value = Wire.read();  
  Serial.print("ID Byte = ");
  Serial.print(value, BIN);
}

void loop()
{
}

and here's the data sheet
http://www.analog.com/static/imported-files/data_sheets/ADT7420.pdf

Thanks for your help!

Bob