A judge originally declared Cory Bitternose a dangerous offender and sentenced him to 20 years minus time served — a decision Crown prosecutors appealed.
The Alberta Court of Appeal says the judge made a mistake and should have put Bitternose behind bars indefinitely.
Bitternose, who is from Saskatchewan, was driving a stolen truck in 2008, when he pulled up beside the two women as they were cycling home from a pub in Banff, Alta.
He offered them a ride but took them to a vacant lot instead and started beating them.
One woman managed to get away but her friend did not and was sexually assaulted.
Court heard Bitternose has a long history of criminal convictions involving violent attacks on men and women.
"The respondent has committed many very nasty and dangerous crimes against randomly selected innocent people, and it appears to be mere happenstance that one or more of his victims has not died," the Appeal Court wrote in its decision released Tuesday.
"His record of disobeying court orders and various lesser forms of rehabilitation and punishment is constant. At present, he is a loaded gun with a hair trigger."
The Appeal Court pointed out the Criminal Code requires an indeterminate sentence for a dangerous offender unless there is admissible evidence to argue against it.
The court said there was no such evidence in this case.
Note to readers: This is a corrected story. An earlier version said Bitternose was originally declared a long-term offender.
Also on HuffPost