Harry Potter's magic spells might be able to fight the forces of evil, but they couldn't prevent a torrential downpour at the premiere of his latest film on Tuesday night.
Thousands of fans braved heavy rain as they waited in London's Leicester Square for the launch of Harry Potter and the Half-Blood Prince, many camping overnight in order to get a good spot.
But hardy fans were not disappointed as drenched stars Daniel Radcliffe, Rupert Grint and Emma Watson all squelched down the red carpet.
Radcliffe, who plays the young wizard himself, even spent over an hour chatting to fans in the monsoon-like conditions wearing only a thin suit, leaving him soaked to the skin.
So what's the story about this time? The sixth Potter film explores the past of the series' chief antagonist, Lord Voldemort, as well as the growing pains of adolescence.
The film is also slightly different in its feel to previous editions, with one review warning that, "Those wanting noisy spectacle and endless action will be disappointed. This is a talky Potter."
For Potter star Rupert Grint, there was more than the rain to worry about. The actor, who plays Ron Weasley, attended the premiere after recovering from a mild case of swine flu.
"Swine flu is nothing really, I found out. It's just like normal flu, it's just that you are in bed for a while. Initially, the words 'swine flu' were kind of scary, but it was easy," he said.
With only two more films to go in the franchise, Radcliffe said he would miss playing Potter.
"It's going to be very, very sad to finish these movies but, at the same time, it will be exciting."