¿Por qué no puedo anular los pseudo-elementos existentes?

Tengo dos reglas CSS que se suceden:

<code>.some td:first-child:before {
    content:url('path/to/image.png')" " ;
}
.some .other:before {
    content:url('path/to/image2.png')" " ;
}
</code>

Aquí está el fragmento de código HTML:

<code><table class="some">
<tr>
    <td class="other">Text goes here</td>
    <td>Some more text.</td>
</tr>
</table>
</code>

Se supone que ambos se aplican a la misma celda de la tabla. El que no tiene clase está pensado como una alternativa. Pero por alguna razón, siempre es elegir la primera regla sobre la segunda. Sé que la segunda funciona, ya que se utilizará si deshabilito la primera en Firebug.

¿Que me estoy perdiendo aqui?

Respuestas a la pregunta(3)

Su respuesta a la pregunta