Spoiler warning: This review reveals major plot points from The Punisher’s first season, and it lays out storylines from season 2.

In the first episode of season 2 of Netflix’s Marvel Cinematic Universe series The Punisher, a character asks revenge-driven vigilante Frank Castle (Jon Bernthal) when he lost his family. He responds, “There are times where it feels like yesterday. Sometimes it feels like a million years ago.” That’s a telling answer from a character weighing whether he can finally move past the tragedy that transformed him into the antihero The Punisher. Unfortunately, showrunner Steve Lightfoot also seems conflicted about how much The Punisher’s past should define his future, and that indecision produces a season that can’t fully commit to its storylines or themes.

By the end of season 1, Frank had killed or incapacitated everyone responsible for his family’s death, effectively ending his vengeance arc. Season 2 kicks off with him considering a new start in Michigan after spending a particularly nice night and morning with a charming bartender. Her bar just happens to be the scene of an attack on Amy Bendix (Giorgia Whigham), a juvenile delinquent being hunted by mercenaries and the murderous Christian fundamentalist John Pilgrim (Josh Stewart) who’s looking for this season’s MacGuffin. Frank saves Amy’s life and gets embroiled in a plot that’s meant to comment on Donald Trump’s Russian ties and the perils of the prosperity gospel. But none of those ideas are really developed, because Lightfoot and his team instead spend so much time retreading season 1’s plot, the complicated relationship between Frank and his brother-in-arms-turned-nemesis Billy Russo (Ben Barnes).

Much of season 2 is devoted to how Billy dons the mantle of Jigsaw, one of The Punisher’s signature villains, following a climactic fight with Frank that left Billy physically and emotionally shattered. Jigsaw doesn’t remember most of the events of season 1, and his attempts to reassemble his memories can be frustrating for viewers who haven’t experienced a traumatic brain injury and have to watch him relive the entirety of the previous season. He’s guided through this process by psychotherapist Krista Dumont (Floriana Lima). But that plot seems like a leftover from Lightfoot’s time on Hannibal, which produced a litany of stories about psychiatrists with questionable ethics and suspicious relationships with their patients.

Barnes is a tremendously charming actor, which is probably why Lightfoot chose a lighter touch when it comes to the makeup for Jigsaw’s mauled face, rather than re-creating the more gruesome portrayals found in the comic books or 2008’s Punisher: War Zone. Barnes delivers some great performances once his character stops brooding and starts trying to reclaim his life. His struggle is mirrored by Homeland Security agent Dinah Madani (Amber Rose Revah), who Billy shot in the head in season 1, as a particularly dramatic end to their romantic partnership. Portraying the ways people cope with trauma is a worthy goal, but Dinah’s long road to recovery badly undermines a character whose calm competence helped balance the show’s testosterone-driven narrative last season.

Also sorely missed is Joe Lieberman (Ebon Moss-Bachrach) who served as Frank’s tech-savvy partner and comic relief in season 1, but he sits this season out. Amy’s sass is meant to fill the void, but none of the characters or the writers seem to know what to do with her. Rounding out the cast is NYPD officer and Daredevil regular Brett Mahoney (Royce Johnson) who’s picked up the anti-Punisher torch Madani dropped, and Frank’s wounded-warrior buddy Curtis Hoyle (Jason R. Moore) who gets to see more of the action this time around.

Season 1 of The Punisher was a standout among the Marvel Netflix shows because of the tightly intertwined characters and narrative. Jessica Jones, Daredevil, and Iron Fist all regularly struggle to put their supporting cast members to use when they aren’t helping the title character. All three shows have the subsidiary cast change relationships and career trajectories like outfits in a bid to make them fit better into the season’s overarching narrative. But The Punisher’s season 1 government-conspiracy plot fits together neatly with each character’s personal motivations, inextricably bonding them together, even when it put them on opposite sides of the conflict.

Season 2 loses that sense of focus and purpose. The writers seem to have an endless supply of puzzle metaphors to reference Jigsaw, but they don’t seem as concerned with how poorly the pieces of their plot fit together. Amy’s plot is so disconnected from Billy’s that it’s largely abandoned for long stretches or only referred to in scenes that are meant to develop the villains pursuing her. It’s hard for viewers to care about a plot and characters when even the writers aren’t engaged with it.

The Punisher still succeeds when it sticks to its basic principles. Frank is more violent than ever this season, which continues to cause tension with his allies, and raise the question of what level of violence is appropriate in stopping violent people. But the “vigilante has to be talked down by his friends before he becomes just as bad as the villain he’s trying to stop” plot would play a lot better if it hadn’t already been done in Daredevil season 3 and Iron Fist season 2.

Still, it’s a rush to watch Frank fight. Bernthal gravelly voice and thoughtful delivery continue to help uplift even the most melodramatic Frank lines. The Punisher is packed with fantastic action sequences, whether in urban warfare with Billy and his lackeys or in smaller fight scenes like a brawl with mobsters in a gym, choreographed to use as many pieces of weight-lifting equipment as possible. While Frank’s endurance often stretches credulity, The Punisher avoids action clichés like having bad guys attack him one at a time. Bernthal brings authenticity to every moment, quickly moving from impassive or even genial into hyper-violent when he’s threatened or just needs to make a point. Some of the best laughs of the show come from no-name thugs quickly realizing they picked the wrong guy to fight, as Frank dispatches them with speed and panache.

The show also continues to do an excellent job of covering the plight of veterans, whether through the lens of emotional testimonies delivered at Curtis’ support group or Billy using veterans’ difficulty at integrating into civilian life to recruit them for his own purposes. But that’s the only issue it handles well. This season isn’t even making an attempt to add any gun control messaging into its trigger-happy script. While the Amy and John plot makes some comments on racism, homophobia, and the outsized influence of corporations on American politics, they’re little more than throwaway lines meant to provide a bit of exposition between fight scenes.

Netflix has already canceled most of its Marvel lineup: Daredevil, Iron Fist, and Luke Cage have all been shut down, as Marvel brings its licensed properties home to prepare for the launch of a new Disney streaming service later this year. It’s almost certain that The Punisher will share the same fate. Luckily, the writers knew the end was coming. While this season is disappointing on many levels, it at least doesn’t end with a cliffhanger or by setting up stories that will never come to fruition.

For all its flaws, season 2 comes to a satisfying close, wrapping up its plots with appropriately bloody ends and hinting at the path ahead for Frank and his allies. The Punisher’s quest for vengeance may finally be complete, but his quest for justice outside the bounds of the law will never end. In one of season 2’s most poignant scenes, Frank admits to his allies that he wasn’t changed as much as he might like to think by his family’s death. “This is who I always was,” he says of his violent tendencies. And it’s who he always will be. We likely just won’t see how his next battle plays out.

In America, season 2 of The Punisher arrives on Netflix on January 18th.