Due I2C not working

This is my code below. If works with the MEGA but the due gives you the

assertion "(address & 0x80) == 0" failed: file "../source/twi.c", line 279, function: TWI_StartWrite
Exiting with status 1.

error.

I have tried to shift the the high bit to the right but that did not work. Any suggestions.
This this code has worked for a couple of years not problem

#include <Wire.h>
//////////////////////////////////////////////////////////////////////////////////////////
int temp_address = (0xFF); // Addres of Raytek Sensor//RAYTEK SETUP
unsigned int tek_temp;
unsigned char high, low, bytecount = 0;

void setup()
{
Wire.begin();
Serial.begin(9600);

// put your setup code here, to run once:

}

void loop()
{
Wire.beginTransmission(temp_address); //Begins transmission to Raytek sensor
Wire.write(7); // Write to address 0x07 Target/Ambient temperature register
Wire.endTransmission(false);//Ends transmisson to sensor but with False take staement allows sensor to still send back bytes
Wire.requestFrom(temp_address, 2); //Allows only first two bytes to be read from Raytek sensor
while (Wire.available())
{
if (bytecount == 0)// This buys some time
{
low = Wire.read();
bytecount++;
}
if (bytecount == 1)// This buys some time
{
high = Wire.read();
bytecount = 0;
}
tek_temp = (high * 256 + low) / 10; //Converts LSB AND MSB TO ACTUAL INT NUMBER

}
delay(1000);
Serial.println(tek_temp);
// raytek_time = millis() + 200;
//genie.WriteObject(GENIE_OBJ_CUSTOM_DIGITS, 0x0B, tek_temp );

}