anchor.diff:        H := fIDCache.GetHouse(aMarketID);
         ResFrom := WareIndexToType[aFrom];
         ResTo := WareIndexToType[aTo];
  -      if (H is TKMHouseMarket) and not H.IsDestroyed
  -      and TKMHouseMarket(H).AllowedToTrade(ResFrom)
  -      and TKMHouseMarket(H).AllowedToTrade(ResTo) then
  +      if (H is TKMHouseMarket)
  +        and not H.IsDestroyed
  +        and H.IsComplete
  +        and TKMHouseMarket(H).AllowedToTrade(ResFrom)
  +        and TKMHouseMarket(H).AllowedToTrade(ResTo) then
         begin
           if (TKMHouseMarket(H).ResFrom <> ResFrom) or (TKMHouseMarket(H).ResTo <> ResTo) then
           begin
  
positive.code:     if aHouseID > 0 then
      begin
        H := fIDCache.GetHouse(aHouseID);
        if H <> nil then
          H.AddRepair(aRepair);
      end
      else
  
negative.code:     if aHouseID > 0 then
      begin
        H := fIDCache.GetHouse(aHouseID);
        if (H <> nil) and not H.IsDestroyed and H.IsComplete then
          H.BuildingRepair := aRepairEnabled;
      end
      else
  