Germany coach Rudi Voller had nothing to celebrate on his 50th game in charge as Hungary won 2-0 in Kaiserslautern.
Germany's Bastian Schweinsteiger missed a good chance late on
Two first-half goals from Sandor Torghelle saw an inexperienced Hungary side inflict a morale-sapping defeat in Germany's last game before Euro 2004.
The 22-year-old turned neatly and fired home after just seven minutes and dinked home a second after 31 minutes.
Ironically, Hungary are coached by Voller's former team-mate and German legend Lothar Matthaus.
Michael Ballack went close several times for Germany while debutant Bastian Schweinsteiger and Thomas Brdaric should also have scored.
But while the Germans looked strong in attack, they were weak at the back.
"We suffered from concentration lapses," confessed Voller.
"But our future is not bleak and I am sure we will perform well in Portugal. But it is clear that a few players need to do more."
Matthaus said: "We were brilliant and showed so much heart. The fact that we had so many players missing made the win all the better.
"I wish Germany a successful Euro 2004.
"Our win should not be blown out of proportion because other teams are not in top form either. I am sure Rudi will come up trumps in Portugal."
Germany: Kahn, Hinkel, Worns, Nowotny, Lahm, Hamann, Ballack, Schneider, Frings, Bobic, Klose. Subs: Lehmann, Hildebrand, Baumann, Ziege, Schweinsteiger, Kehl, Jeremies, Ernst, Brdaric, Podolski.
Hungary: Kiraly, Juhasz, Szelesi, Andras Toth, Rosa, Huszti, Bodnar, Torghelle, Stark, Gera, Leandro. Subs: Bernath, Bodor, Gyepes, Hercegfalvi, Komlosi, Balazs Toth, Polonkai, Vlaszak.