President Barack Obama awarded the Medal of Honor to 24 veterans, 17 of them Hispanic, who had not received America's highest military honor because of discrimination.

"Today we have the chance to set the record straight," he said during the ceremony in the East Room of the White House.

"No nation is perfect, but here in America we confront our imperfections and face a sometimes painful past, including the truth that some of these soldiers fought and died for a country that did not always see them as equal," Obama said.

Only three of the recipients lived to receive the decoration in person, Vietnam vets Santiago Erevia, Melvin Morris and Jose Rodela.

The rest of those decorated were honored through their families, who received the medal from the president's hands in an emotional ceremony during which Obama took the time for the heroic deeds of all the recipients to be read.

Made up also of Jews and African-Americans who were similarly denied the honors they deserved out of discrimination, this was the biggest group of veterans to receive the Medal of Honor in the United States since World War II.

These veterans of World War II, Korea and Vietnam had already been decorated with the Distinguished Service Cross, the second most important military honor in the United States, though a review ordered by Congress in 2002 determined that they were deserving of the very highest honor.

Ten of those awarded the Medal of Honor gave their lives in battle. EFE