Ethernet - cotradiction in IF statement?

I don't understand this IF statement for the TT case. It appears to me as a contradiction like IF (!A && A) which will never happen. However I've now seen this in 2 arduino ethernet examples, so it must work somehow. Please help me understand.

  // if there's no net connection, but there was one last time
  // through the loop, then stop the client:
  if (!client.connected() && lastConnected) {
    Serial.println();
    Serial.println("disconnecting.");
    client.stop();
  }

  // if you're not connected, and ten seconds have passed since
  // your last connection, then connect again and send data:
  if(!client.connected() && (millis() - lastConnectionTime > postingInterval)) {
    sendData(sensorReading);
  }
  // store the state of the connection for next time through
  // the loop:
  lastConnected = client.connected();
}

One check is for the current state of the connection and the other is for the state of the connection in the last run of loop().

If it was connected when the loop() ran last time but it's not now, we have a state change and react on it.