Lo que deberías hacer es que se cambie la imagen cuando esté cargada... no sé como es tu código JS actual, debe ser algo así...
Código HTML:
<img src="imagen1.jpg" onmouseover="this.src='imagen2.jpg'" onmouseout="this.src='imagen3.jpg'" />
Deberías hacer algo un toque más complicado
Código HTML:
<img src="imagen1.jpg" id="imagen" />
<script type="text/javascript">
document.getElementById('imagen').onmouseover = function() {
var i = new Image();
i.onload = function() {
document.getElementById('imagen').src = this.src;
}
i.src = 'imagen2.jpg';
}
document.getElementById('imagen').onmouseout = function() {
var i = new Image();
i.onload = function() {
document.getElementById('imagen').src = this.src;
}
i.src = 'imagen3.jpg';
}
</script>
Entonces espera a cargar la imagen para reemplazar el src