Il problema è che l'history.length, dopo la prima pagina non tornerà mai ad essere 0 ma continuerà ad incrementarsi, quindi la condizione history.length > 0 sarà sempre verificata.

Ti riporto l'html di 3 pagine che dovrebbero farti capire meglio il mio problema. Parti aprendo a.html.

a.html:
<html>
<body>
<script>
alert(history.length)
</script>
avanti
</body>
</html>

b.html:
<html>
<body>
<script>
alert(history.length)
</script>
indietro
avanti
</body>
</html>

c.html:
<html>
<body>
<script>
alert(history.length)
</script>
indietro
</body>
</html>

Grazie