Pseudo classe: hover ne fonctionne pas dans IE7

J'ai eu un code simple:

<div class="div1">
  <div class="div2">Foo</div>
  <div class="div3">
    <div class="div4">
      <div class="div5">
        Bar
      </div>        
    </div>
  </div>
</div>

et ce CSS:

.div1{
  position: relative;
}
.div1 .div3 {
  position: absolute;
  top: 30px;
  left: 0px;
  width: 250px;
  display: none;
}
.div1:hover .div3 {
  display: block;
}
.div2{
  width: 200px;
  height: 30px;
  background: red;
}
.div4 {
  background-color: green;
  color: #000;  
}
.div5 {}

Le problème est: Quand je bouge le curseur de .div2 à .div3 (.div3 doit rester visible parce que c'est l'enfant de .div1) puis le hover est désactivé. Je suis en essais dans IE7, FF, il fonctionne très bien. Ce que je fais mal? J'ai aussi réalisé que lorsque je supprime .div5 tag que ça fonctionne. Des idées?

source d'informationauteur Lukas