Multiple kernels and constant memory

I have two kernels. These kernels have __constant float* ptr as input parameter.
All works fine when I try to run the kernel with number 0. But when I am trying to run the kernel with number one, there is no data in __constant memory. When I replace “__constant float* ptr” by “__global float* ptr” in the kernel with number 0 and run the kernel with number 1 one more time all works fine.

Have there any ideas why it is so and how to avoid it?

It definitely sounds like a bug in the driver. I suggest reporting it to the manufacturer.