ARB_vertex_program secondary colour

I’ve got
OUTPUT oColor0 = result.color.front.primary
OUTPUT oColor1 = result.color.front.secondary

When I write a colour to oColor0 I can access it as my primary component in my nvidia register combiners. When I write the same to oColor1 it always comes out as black.

I have glLightModeli(GL_LIGHT_MODEL_COLOR_CONTROL_EXT, GL_SEPARATE_SPECULAR_COLOR_EXT);

I’m using the latest 40 nVidia drivers.

What could I be overlooking?