The Constitutional Court's ruling was seen as a compromise between judges who wanted to strike down the law completely, and those who wanted to keep it intact.
Berlusconi is a defendant in two trials in Milan, on corruption and tax fraud charges. The trials had been suspended because of the law, which was passed last year by Berlusconi's conservatives in parliament and immediately drew accusations it was tailor-made for the premier.
The legislation said trials can be automatically suspended by six months, and up to 18 months, if defendants say they have a "legitimate impediment" stemming from being premier or a member of government.
The Constitutional Court maintains the possibility of seeking a postponement due to "legitimate impediment." But in a significant provision, it rejected as unconstitutional the automatic and enduring shield from trial provided by the legislation. The court gave judges trying Berlusconi the power to verify each time the claim to "legitimate impediment" is made by the defense and decide whether the premier should be exempt from trial.