anchor.diff:  destructor TTaskBuildHouseArea.Destroy;
   begin
     //Allow other workers to take this task
  -  if BuildID<>0 then fPlayers.Player[byte(fUnit.GetOwner)].BuildList.ReOpenHousePlan(buildID);
  +  if BuildID<>0 then fPlayers.Player[byte(fUnit.GetOwner)].BuildList.ReOpenHousePlan(BuildID);
   
     if HouseSet and (fHouse<>nil) then
       fPlayers.Player[byte(fUnit.GetOwner)].RemHouse(fHouse.GetPosition,true);
  
positive.code:          Thought := th_None;
           fTerrain.SetMarkup(fLoc,mu_UnderConstruction);
           MarkupSet := true;
           fPlayers.Player[byte(GetOwner)].BuildList.CloseRoad(buildID); //Close the job now because it can no longer be cancelled
           SetActionStay(11,ua_Work1,false);
         end;
      2: begin
  
negative.code:     SaveStream.Write(fHouse.ID) //Store ID, then substitute it with reference on SyncLoad
    else
      SaveStream.Write(Zero);
    SaveStream.Write(BuildID);
    SaveStream.Write(CurLoc);
    Cells.Save(SaveStream);
  end;
  