Flames destroyed a 100-year-old barn north of Milverton on Thursday.
Firefighters were called to the barn, on 76 Line near Newton, around 10 a.m.
When they arrived, they found that the roof of the barn was already fully engulfed in flames.
Fire crews were unable to save the barn, but did stop the fire from spreading to a neighbouring house and barn.
Straw inside the barn helped fuel the fire, Perth East fire officials tell CTV News, and water had to be trucked to the scene.
Four cattle were killed in the fire, but the other 25 cattle housed in the barn were unhurt.
The cause of the fire remains under investigation.