anteriorSibling no funciona

Quiero apuntar al primero<p> dentro de la div seleccionando la segunda<p> y usandopreviousSibling Propiedad pero no funciona.

<div id="par">
<p id="p1">test</p>
<p id="p2">test</p>
</div>


document.getElementById('p2').previousSibling.className = 'red';

EDITAR:

OK, funciona en todos los navegadores excepto en IE8, pero quiero que funcione también en IE8. Probé el siguiente condicional pero sin ningún efecto:

var c = document.getElementById('p2').previousElementSibling.className = 'red';

if (c == undefined) {

    c = document.getElementById('p2').previousSibling.className = 'red';
}

Todavía funciona en todas partes excepto en IE8. ¿Cómo puedo cambiar el condicional anterior para IE8?

EDIT 2:

Gestionado para que funcione en IE8 también:

var c = document.getElementById('p2');

if (c.previousElementSibling) {

    c.previousElementSibling.className = 'red';

} else {

    c.previousSibling.className = 'red';

}

Respuestas a la pregunta(2)

Su respuesta a la pregunta