A teenage boy was impaled by a beach umbrella Friday afternoon while he was visiting Gloucester, Massachusetts, authorities said.

The 13-year-old was on Good Harbor Beach when an umbrella got loose in the wind and flew into his shoulder, leaving him seriously hurt, according to fire officials.

"The boy had been hit with the umbrella," said witness Adam Howe. "Like, the pointy part, right in the back of the shoulder. It was really scary, there was a lot of blood."

The boy was with family members, who started screaming.

"Get the lifeguard, get the lifeguard," witness Brandon Phillips recalled hearing. "The lifeguard sprinting up and down, getting the medics, getting everybody else on his radio."

An off-duty nurse and lifeguards helped the teen, using a beach towel to try and stop the bleeding from the puncture wound.

"When I ran over, there was a really large gash in his shoulder," said witness Jacobs Vargus, who works on the beach. "I was just telling him, 'don't worry, everything's going to be alright, you're doing good, kid, you're doing awesome.'"

The boy was taken to Beverly Hospital to be treated for a serious injury to his left shoulder.

Beach umbrellas impaling people is rare but not unheard of. Last year, a British woman was impaled on a New Jersey beach. It pierced her right ankle and was driven completely through due to the "force of the wind," police said.