CSS: DIV que no contiene altura en el conjunto flotante

Supongamos que tenemos este código:

<div id='upperDiv' style='min-height:200px;border: 1px solid #000000;'>
     <div id='rightDiv' style='float:right;width:75%;'>
       content1
     </div>  
     <div id='leftDiv' style='float:left;width:25%;'>
       content2
     </div>
</div>
<div id='lowerDiv' style='height:50px;border: 1px solid #000000;margin-top:5px;'>
   content3
</div>

Cuando el contenido de rightDiv y leftDiv pasa la altura de 200 px (la altura mínima) upperDiv no crece, por lo que su contenido se superpone a la división inferior. Si elimino el atributo flotante del gran contenido, crece y habrá problemas. Pero no sé qué Div (rightDiv o leftDiv) pasa 200px de altura. ¿Cómo puedo arreglar esto?

Gracias