It turns out that if you have a div set to overflow:auto, the contents of that div are wider than the containing div, and you have an element with a :hover css class inside that div that IE9 will start messing with the height of the div whenever the mouse is moved inside it. (see below)
The work around for this is quite easy. All you need to do is specify a height on the wrapper div and set the inner div to a height of 100%. You can see an example of the problem and the solution here.