VANCOUVER -- At just 21 years old, Elias Pettersson will become a two-time NHL All-Star in January.

The Vancouver Canucks centre will hit the ice in St. Louis on Jan. 25 in his second All-Star game in as many years.

"Hey now, you're an all-star – again!" the Canucks wrote in an announcement posted online Monday.

The Swede won the Calder Memorial Trophy for best rookie in the league earlier this year, and currently leads the Canucks in goals.

As of Monday, Petey had 18 goals this season, six of which were game winners.

And the young player is also winning fans for his actions before the clock starts. Last month, he accidentally struck a fan with a puck that went off the crossbar during a warm-up. 

The star skated to the bench, picked up a pen, quickly signed a hat and skated it over to the woman he hit.

"Sorry about the puck," he wrote.

Less than a month after beating the Flames in Calgary, Pettersson will this time play alongside Matthew Tkachuk and Marc Giordano as they represent the Pacific Division.

Other teammates are San Jose's Logan Couture and Anaheim's Jakob Silfverberg.

The Edmonton Oliers' Connor McDavid was chosen as captain of the team that also includes Leon Draisaitl (Oilers) and Anze Kopitar (Kings), with Darcy Kuemper (Coyotes) and Marc-Andre Fleury (Knights) in nets. 

The Avalanche's Nathan MacKinnon will serve the NHL's Central Division as the fan-elected captain, Alex Ovechkin (Capitals) won't play, but was voted to lead the Metropolitan Division, and David Pastrnak of the Bruins will wear the "C" for the Atlantic region.

The NHL says an additional player from each division will be added to the rosters through fan votes.

The 2020 All-Star Weekend consists of a three-game tournament in a three-on-three format. The skills competition will take place the night before the game.

Read the full rosters on NHL.com