anchor.diff:      begin
         Res := WareIndexToType[aWareType];
         H := fIDCache.GetHouse(aHouseID);
  -      if (H <> nil) then
  +      if (H <> nil)
  +        and not H.IsDestroyed
  +        and H.IsComplete then
           for I := 1 to 4 do
             if gRes.Houses[H.HouseType].ResOutput[I] = Res then
             begin
  
positive.code:     and (aUnitType in [UnitTypeToIndex[CITIZEN_MIN]..UnitTypeToIndex[CITIZEN_MAX]]) then
      begin
        H := fIDCache.GetHouse(aHouseID);
        if (H <> nil) and (H is TKMHouseSchool) then
          Result := TKMHouseSchool(H).AddUnitToQueue(UnitIndexToType[aUnitType], aCount);
      end
      else
  
negative.code:     begin
        H := fIDCache.GetHouse(aHouseID);
        if (H <> nil)
          and not H.IsDestroyed //Allow to change delivery mode for not completed houses
          and gRes.Houses[H.HouseType].AcceptsWares then
          H.SetDeliveryModeInstantly(TKMDeliveryMode(aDeliveryMode));
      end
  