M Night Shyamalan's latest thriller "Glass" bested the competition at the North American box office for a second straight weekend, taking in $18.9 million, industry figures showed Monday.
The film unites the narratives of the director's "Unbreakable" (2000) and "Split" (2016), and stars Bruce Willis, Samuel L Jackson and James McAvoy.
The second and third spots at the box office remained unchanged from last weekend.
Buddy drama "The Upside" -- starring Bryan Cranston as a wealthy quadriplegic who hires ex-convict Kevin Hart as his caretaker -- earned $11.9 million.
Superhero flick "Aquaman," starring Jason Momoa as the underwater king, hauled in another $7.3 million.
It has now generated $1.09 billion in global box office revenues, making it the largest DC Comics adaptation of all time, according to industry tracker Exhibitor Relations.
A new release from Fox, "The Kid Who Would Be King," placed fourth with $7.2 million for the three-day weekend.
That would be a "potentially disastrous result for a film that cost over $60 million" to make, according to Variety.
The movie stars Louis Ashbourne Serkis (son of Andy Serkis, Gollum in the "Lord of the Rings" trilogy) as a boy living in modern times who stumbles upon King Arthur's legendary sword Excalibur. It has drawn largely positive reviews.
In fifth spot -- and hanging strong in its seventh week out -- was Sony's "Spider-Man: Into the Spider-Verse," with takings of $6.1 million. The film is the favorite to win an Oscar for best animated feature next month.
Rounding out the weekend's top 10 were:
"Green Book" ($5.5 million)
"A Dog's Way Home" ($5.1 million)
"Serenity" ($4.4 million)
"Escape Room" ($4.1 million)
"Mary Poppins Returns" ($3.3 million)