Bondage of Innocence: Leather-clad Swede Lisbeth Salander gets framed for murder.

Like the first sparks of an affair, it’d be difficult to replicate the thrill viewers got when introduced to Lisbeth Salander in The Girl With the Dragon Tattoo, the introductory chapter of a trilogy that’s come to be known as late author Stieg Larsson’s Millennium series. The second installment, The Girl Who Played With Fire, stripped much of the Lisbeth-ness from Lisbeth, including her goth look, pissy attitude, and hacker skills. (She wasn’t hacking for anything all that interesting, anyway.)

Now the close of the series, The Girl Who Kicked the Hornet’s Nest, offers a mixed bag: Sometimes The Girl We Love is there, and other times the film chases bad guys who are, mired in Lisbeth’s deep, deep shit but also might as well be the bogeyman for all we care. Does “rogue security services group” inspire fear in you? No? Then bring back the piercings and slick takedowns of Johnny Scumbag, please.

Daniel Alfredson, who directed Played With Fire, returns here to tell Larsson’s story with chilly, rain-soaked Swedish efficiency, with a good dose of skeeziness from most of the players involved. The film opens with Lisbeth (Noomi Rapace) and her eeevil father (Georgi Staykov) in the hospital after their nearly-to-the-death scuffle at the end of the last film, both with bullets in their brains. So right from the start, Lisbeth—suspected of a triple homicide and soon to be under arrest for the attempted murder of her father—is dormant. As she fights to get back her strength and mind, her good-guy doctor fights off the hounds—lots of legal types want to talk to her, as does a psychiatrist, Peter Teleborian (Anders Ahlbom), who (mis)treated her while she was committed to an asylum as a child. (That would have been after her precocious first try at killing Dad.)

Meanwhile, father dearest, who was involved in setting up Lisbeth in the triple murder, still wants his daughter dead, and calls a handful of elderly ne’er-do-wells to get to it. And Mikael Blomkvist (Michael Nyqvist), the investigative journo Lisbeth teamed up with in the first film to solve a missing-person case, is working on a special issue of his magazine devoted to “providing justice for Lisbeth Salander.” Soon, his staff is in danger, too, receiving anonymous threats and suffering break-ins and theft of evidence as Lisbeth’s trial nears. Mikael’s cooperation with a special police unit as it tries to sniff out what exactly Lisbeth’s father is a part of doesn’t help.

Most of Hornet’s Nest, therefore, plays out as a procedural, one that’s interesting enough to hold your attention throughout the film’s two-and-a-half hours but not so compelling that you don’t instantly shrug at new developments as soon as they’re presented. It’s all glue to hold together the film’s real draw: Lisbeth and Mikael, no longer K-I-S-S-I-N-G but connected strongly enough that he’s risking his life to fight for her and she knows it. Even though Lisbeth spends most of the movie in a hospital bed, she’s furtively tapping on her forbidden cell and scheming, and exercising the damaged side of her body so she doesn’t need anyone’s help for anything, thank you. Though she reluctantly accepts the counsel of Mikael’s attorney sister, Annika (Annika Hallin), still, she barely speaks to the woman. Also keeping things thrilling are the threats against Mikael’s staff. We care about these people, too—and not a group of old men, no matter how many people they strong-arm or kill (and there are quite a few), nor the “blond tank” (Mikael Spreitz) from the previous film who doesn’t do much but commit random murders and add random plot threads.

As with Played With Fire, Hornet’s Nest features just enough flashbacks and exposition to help it stand alone, though it’s likely more satisfying as part of a whole. And Lisbeth fans will be happy to see her gothiness—and smug revenge—return in a most delightful way. But if you prefer your seedy mysteries to end in a bang, this one doesn’t quite; Alfredson repeats his decision to let the film end with a non-ending. It’s what came before, however, that elevates this third installment quite a few notches above the disappointing second.