Budapest has agreed alterations in four areas which aroused criticism by rights campaigners and by its European Union partners.
They are the definitions of balanced reporting, the application of fines, media registration rules and freedom of speech questions.
But there will be no change to the provision that parliament – in which the ruling party has a two-thirds majority – will name the head of the media control body, which will administer the law.
Officials say that no European law bans such a practice.
The law allowed the imposition of fines of up to 700,000 euros on media outlets for
"imbalanced news coverage", material considered "insulting" to a particular group or "the majority" or considered a violation of "public morality".
It also made it possible to force journalists disclose their sources, with wide grounds for the media authority to order disclosure, according to Human Rights Watch.
The controversy was given added impetus by the fact that Hungary took over the EU chair for six months in January.
Prime Minister Viktor Orban faced sharp criticism in the European parliament when he took over the function.
On Monday he seemed unrepentant, declaring that his country had defeated foreign critics.
“By launching an attack against Hungary under the pretext of the media law, they questioned Hungary's commitment to democracy," he told the Hungarian parliament. "However, the government fended off this attack and made the arguments of the attackers of the law ridiculous.”
He told MPs that “we do not accept any countries or country groupings as our superiors ... Brussels is not Moscow".