"Umbrella just hit the kid and we saw him bleeding," one beachgoer said.
[Ads /]
It happened Friday at Good Harbor Beach, WBZ-TV reports.
"All I heard was a woman scream and the umbrella went flying. He was on the ground. His mom was like, 'Get the lifeguard! Get the lifeguard!'" a young beachgoer said.
Firefighters said the boy was impaled in his left shoulder and was bleeding badly.
Bystanders rushed to help him, applying a tourniquet and waiting for first responders. He was taken to the hospital.
Firefighters said his injuries were serious, but he will be OK.
[Ads /]
"Surprisingly calm for such a rare occurrence, people were quite calm," Gloucester Fire Lt. Nick Oullette said.
The umbrella flew out of place on the beach in a gust of wind, ultimately hitting the teenager and teaching other beachgoers an important lesson.
"You know what I did after that? I came back and pulled my umbrella down and then if I left, my umbrella came down," witness Sharon Sangster said.