dFdy always returns zero vector when using it with UV coordinates

When applying a normal map on my terrain black spots appear. After investigating I suspect that the problem is caused by the function perturbNormal2Arb.
I have a regular terrain, no degenerate triangles.
But somehow dFdy( vUv.st ) always returns (0.0, 0.0) in perturbNormal2Arb
The dFdy function is returning non-zero values when using it with other data, so there is no software installation or hardware problem.
Here are some fragment shaders and their outputs to illustrate the problem.

void main() 
{
	gl_FragColor = vec4(vUV.s, vUV.t, 0.0, 1.0);
}

There is a UV gradient in both the x as well as y direction.

void main() 
{
	vec2 st0 = normalize(dFdx( vUV.st ));
	gl_FragColor = vec4(st0.s, st0.t, 0.0, 1.0);
}

dFdx is working fine.

void main() 
{
	vec2 st0 = normalize(dFdy( vUV.st ));
	gl_FragColor = vec4(st0.s, st0.t, 0.0, 1.0);
}

But with dFdy everything is zero.