anchor.diff:      1: begin
           fTerrain.SetMarkup(fLoc,mu_UnderConstruction);
           fTerrain.ResetDigState(fLoc); //Remove any dig over that might have been there (e.g. destroyed house)
  -        fPlayers.Player[byte(GetOwner)].BuildList.CloseRoad(buildID); //Close the job now because it can no longer be cancelled
  +        fPlayers.Player[byte(GetOwner)].BuildList.CloseRoad(BuildID); //Close the job now because it can no longer be cancelled
  +        BuildID := 0;
           SetActionLockedStay(0,ua_Walk);
          end;
       2: begin
  
positive.code:   Inherited Create(aWorker);
    fTaskName := utn_BuildHouse;
    fHouse    := aHouse.GetHousePointer;
    buildID   := aID;
  
    Cells := TKMPointDirList.Create;
    fHouse.GetListOfCellsAround(Cells, aWorker.GetDesiredPassability);
  
negative.code: 
  destructor TTaskBuildField.Destroy;
  begin
    if BuildID<>0 then fPlayers.Player[byte(fUnit.GetOwner)].BuildList.ReOpenRoad(BuildID); //Allow other workers to take this task
    if MarkupSet  then fTerrain.RemMarkup(fLoc);
    Inherited;
  end;
  