The Perfect Guy has topped the US box office this weekend, narrowly beating M Night Shyamalan’s horror comedy The Visit. Directed by David M Rosenthal, The Perfect Guy stars Sanaa Lathan as a successful lobbyist whose new boyfriend turns out to be a lot more dangerous than he seems.

Sanaa LathanSanaa Lathan stars in The Perfect Guy.

The Perfect Guy opened to $26.7 million, more than doubling its $12 million budget. The film ended up surpassing all expectations, after being predicted to take in the $15 million range, it managed to find success despite receiving negative reviews from the critics, scoring just 31% on Rotten Tomatoes.

More: 'Straight Outta Compton' Continues Its Reign On Top Of The US Box Office

The Visit came in a close second, taking $26.7m. The horror-comedy, directed by The Sixth Sense’s M Night Shyamalan was financed by the director himself. It centers on two teenagers who go to stay with their grandparents in a remote farmhouse.

The film received mixed reviews from critics, with some finding it missed the mark with its blend of horror and comedy, while others thought it was a return to form for the director. Our own Rich Cline gave The Visit two stars noting that ‘the characters are too thinly drawn and the story is too gimmicky’.

More: Read our review of The Visit

Elsewhere, last week's top grossing new entry, Christian family drama War Room fell to third place, taking $7.4 million and bringing its total to $39.1 million. At number four was Robert Redford drama A Walk in the Woods which managed $5 million in its second week. The top five was then rounded out by Mission: Impossible - Rogue Nation which took $4.2 million in its seventh week bringing its total to $188.1 million.