SOURCE CODE “Oh god, I just had the worst dream. I was a prince, in, like, Persia or something?”

A YEAR OR TWO AGO, the science-fiction drama Moon came out of nowhere. Moody, smart, and twisty, it was the low-budget feature debut of Duncan Jones, who cited little-known B movies like Outland and Silent Running as inspiration—but, alongside star Sam Rockwell, he ended up creating something that felt new, odd, and, most importantly, promising.

Jones' follow-up, Source Code, shares some thematic similarities with Moon—this film, it so happens, is also about an isolated guy who's at the mercy of technology and those who wield it—but it has little of the freshness and originality that made Moon remarkable. Despite a few creepy sci-fi touches, Source Code is a vague, competent, and utterly forgettable thriller. If I hadn't seen Jones' name on the credits, I never would've guessed the guy who cranked this out was the same guy who surprised everybody with Moon.

Plot-wise, Source Code is awkwardly smooshed between Groundhog Day and Quantum Leap: There's a bomb on a train, see, and soldier Colter Stevens (Jake Gyllenhaal) has been tasked with discovering who planted it. The sci-fi catch: The bomb's already gone off. But thanks to the residual psychic signatures of those who died in the catastrophe, Stevens is able to jump into the bodies of those on the train shortly before the explosion. (No, this body-hoppin' stuff doesn't really make sense; the closest we get to an explanation of how it works is something about "quantum mechanics and parabolic calculus." Oh, right—parabolic calculus!)

With his consciousness briefly inhabiting these dead people's memories, Stevens scours his surroundings for clues—but meanwhile, Stevens' real body is strapped in a harness that hangs inside a dark, confusing bunker, where he relies on a video monitor for instructions from his increasingly bossy bosses, Goodwin (Vera Farmiga) and Dr. Rutledge (Jeffrey Wright). But tensions start to show as Stevens grows less and less comfortable with his role as a pawn—he doesn't necessarily want to be jumping through these dead people's heads before getting repeatedly exploded, it turns out, and it doesn't help that in between all this quantum leaping, he's getting sweet on one of the train's passengers (Michelle Monaghan).

As Stevens grows increasingly driven—and as he somehow finds time, despite the ticking clock, to squeeze in a product-placement friendly visit to Dunkin' Donuts and get some valuable info thanks to Bing's apparently incredibly helpful mobile search function—Source Code clips along at an impressive pace. Still, there's nothing interesting for Gyllenhaal, Monaghan, Wright, or Farmiga to do. Farmiga and Monaghan look particularly bored; while Gyllenhaal gets to play action hero and Wright gets to ham it up as a mad scientist, Farmiga doles out infodumps of exposition while Monaghan sits there, waiting to explode, acting sweet and looking pretty. Given Source Code's mechanical narrative, it shouldn't be a surprise that its closing sequence is so sentimental it feels as if the onboard bomb was loaded with cheese rather than plastique, but still, it's a bummer. As bland, shiny thrillers go, Source Code is fine, I guess—but considering the chops Jones previously showed off, this should've been a lot better.