Problems with separate shader objects & geometry shader

I have a simple geometry shader with an output, i.e. something like this:

out GS2PS { vec4 color; } v;


void main ()
{
  gl_Position = ...;
  v.color = ...;
  EmitVertex ();

  // 3 more times

  EndPrimitive ();
}

Now I want to use separate shader objects, so I added:

#extension GL_ARB_separate_shader_objects : enable
out gl_PerVertex {
	vec4 gl_Position;
};

Unfortunately, no geometry is generated any more. If I remove the block above, and I use separate shader objects, it “just works”, but obviously it’s violating the spec. If I just add the #enable line, the compiler complains that the built-in outputs are not redeclared, but if I do, it just stops working. Tested on a GTX 680 & the 314.22 driver. Same code works as expected on AMD, so I would guess it’s a driver bug on NVIDIA. Can anyone confirm that?