Problem gelöst. Ich habe im Css für "top2" ein clear: right; eingefügt wo vorher ein float: left; stand.
Was ich nicht verstehe ich, warum das "clear: right;" benötigt wird.
Im Css für das Logo steht "float: right;"
Wird dieses "float: right;" nicht mit dem schließenden </div> vom class="top1" div aufgehoben? *verwirrt*. Oder ist das wieder ein IE bug?
<div class="top1">
<a name="top"><img id="logo" src="/languages/de/img/logo.png" alt="logo" /></a>
</div>
<div class="top2">
<div id="product_menu"><div class="top2">