Problem with Wire / EEEPROM

Hello everyone,

I have a problem I do not understand. I am using a ST M24M02-DR EEPROM (Datasheet). So I am accessing it with the Wire library.
It is all working fine, if I just read or write. If I first write and then read I get a NACK from the EEPROM after writing the address to read. Changing the address I want to read does not help.
The written and read data is correct. I really do not understand it. Removing the wire.begin() does also not help. It is necessary since the µc will go into sleep in between the operation.

uint8_t EEPROM::readCurrentAddress(void)
{
    uint8_t controllByte;
    uint8_t result;
    uint32_t recByte;

    _curAddress = 0;
    controllByte = (uint8_t)0xB8;

    digitalWrite(_writeControl,LOW);
    digitalWrite(_select, HIGH);

    Wire.begin();
    Wire.beginTransmission(controllByte >> 1);
    Wire.write((byte)0x00);
    Wire.write((byte)_addressPos);
    result = Wire.endTransmission();

    if (result != 0)
        return result;

    Wire.requestFrom(controllByte >> 1,4);
    for (int8_t i = 3; i >= 0; i--)
    {
        recByte = Wire.read();
        Serial.println(recByte);
        _curAddress |= (recByte << (i*8));
    }

    digitalWrite(_writeControl,HIGH);
    digitalWrite(_select,LOW);

    return result;  
}
uint8_t EEPROM::writeCurrentAddress(void)
{
    uint8_t controllByte;
    uint8_t result;

    controllByte = (uint8_t)0xB8;

    digitalWrite(_writeControl,LOW);
    digitalWrite(_select, HIGH);

    Wire.begin();
    Wire.beginTransmission(controllByte >> 1);
    Wire.write((byte)0x00);
    Wire.write((byte)_addressPos);

    for (int8_t i = 3; i >= 0;i--)
    {
        Serial.println((_curAddress >> (i*8)) & 0xFF);
        Wire.write((byte)(_curAddress >> (i*8)) & 0xFF);
    }

    result = Wire.endTransmission();

    digitalWrite(_writeControl,HIGH);
    digitalWrite(_select,LOW);

    return result;       
}

Thanks,
nuclear

Edit:
First reading, then writing works. Looks like the bus is not released correctly?

Ok I am stupid. The device is just not ready with writing. Sorry for the question.