It upheld his 2004 murder conviction in the killing of Laci Peterson, 27, who was eight months pregnant with their unborn son, Connor. Investigators said that on Christmas Eve 2002, Peterson dumped the bodies from his fishing boat into San Francisco Bay, where they surfaced months later.
"Peterson contends his trial was flawed for multiple reasons, beginning with the unusual amount of pretrial publicity that surrounded the case. We reject Peterson's claim that he received an unfair trial as to guilt and thus affirm his convictions for murder," the court said.
But it said the trial judge "made a series of clear and significant errors in jury selection that, under long-standing United States Supreme Court precedent, undermined Peterson's right to an impartial jury at the penalty phase."
It agreed with his argument that potential jurors were improperly dismissed from the jury pool after saying they personally disagreed with the death penalty but would be willing to follow the law and impose it.
Peterson, who is now 47, contended on appeal that he couldn't get a fair trial because of the massive publicity that followed, although the proceedings were moved nearly 90 miles (145 kilometers) away from his Central Valley home of Modesto to San Mateo County, south of San Francisco.
He was convicted of first-degree murder in the death of his wife and the second-degree murder of their unborn son.
VIDEO: How the Laci Peterson Case Unfolded