The Bagpiper's Ghost
Jane Yolen

While in Scotland visiting relatives, 13 year-old twins Peter and Jennifer visit a graveyard hoping to see the ghost of Mary MacFadden, and Peter is possessed by the unhappy spirit of her twin brother, Andrew. Jennifer and her Gran, a white witch, know that they have only one day to get the spirit to leave Peter's body or it will take him over forever. In life, Andrew plotted to keep Mary from marrying Ewan McGregor, and Mary pined away to her grave.