Problems using 16-bit Textures in cg shaders

I’m currently working on a terrain. I have a heightfield (png), which has one channel (16-bit). When I set the heightmap as a shader input:

element.setShaderInput("heightmap", loader.loadTexture("heightmap.png"))

Everything works correct, but the texture is treated as an 8-Bit Texture …
Is there a way to solve this? Currently I have to split the 16-bit channel into two 8-bit channels.

You may need to explicitly use setFormat on the Texture object.

It works, if I set the mode to FRgba16 (F_rgba16), but I have to save the image as rgba, not greyscale … is there a format for greyscale?