I'm trying to do two-sided lighting, but I'm getting these annoying artifacts on the edges (see attached picture). Apparently for these fragments gl_FrontFacing is false..?

Shaders are simply:

Code :
#version 120
void main()
{
    gl_Position = ftransform();
}

and..
Code :
#version 120
void main()
{
    if (gl_FrontFacing)
      gl_FragColor = vec4(1,0,1,1);
    else
      gl_FragColor = vec4(0,0,1,1);
}

Thanks!