cudaGraphicsGLRegisterImage fails with a core profile gl device

I’m running CUDA 5.5 on OSX 10.9. If I init glut with GLUT_3_2_CORE_PROFILE, all calls to cudaGraphicsGLRegisterImage fail with cudaErrorInvalidValue.

ie: this fails:
glutInitDisplayMode(GLUT_3_2_CORE_PROFILE | GLUT_DOUBLE | GLUT_RGBA);
glTexImage2D(GL_TEXTURE_2D, 0, GL_RGBA32F, mWidth, mHeight, 0, GL_RGBA, GL_FLOAT, 0);
cudaGraphicsGLRegisterImage(&gHeightFieldCUDAResource, mTextureID, GL_TEXTURE_2D, cudaGraphicsMapFlagsNone);

ie: and this doesn’t:
glutInitDisplayMode(GLUT_DOUBLE | GLUT_RGBA);
glTexImage2D(GL_TEXTURE_2D, 0, GL_RGBA32F, mWidth, mHeight, 0, GL_RGBA, GL_FLOAT, 0);
cudaGraphicsGLRegisterImage(&gHeightFieldCUDAResource, mTextureID, GL_TEXTURE_2D, cudaGraphicsMapFlagsNone);

Any ideas?
Thanks,
Jp

A simple example (just in case):

Works when GLUT isn’t initialized with core profile:

int main(int argc, char * argv)
{
glutInit(&argc, argv);
glutInitDisplayMode(GLUT_3_2_CORE_PROFILE | GLUT_DOUBLE | GLUT_RGBA | GLUT_DEPTH | GLUT_MULTISAMPLE);
glutInitWindowSize(GlutMembers::width, GlutMembers::height);
glutCreateWindow(“GLUT window”);

GLuint textureID;
glGenTextures(1, &textureID);

glActiveTexture(GL_TEXTURE0);
glBindTexture(GL_TEXTURE_2D, textureID);

glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_NEAREST);
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_NEAREST);
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_S,     GL_CLAMP);
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_T,     GL_CLAMP);

glTexImage2D(GL_TEXTURE_2D, 0, GL_RGBA, 512, 512, 0, GL_RGBA, GL_FLOAT, 0);

cudaGraphicsResource* gCUDAResource;
cudaError_t cudaError = cudaGraphicsGLRegisterImage(&gCUDAResource, textureID, GL_TEXTURE_2D, cudaGraphicsMapFlagsNone);
if(cudaError != cudaSuccess)
    printf("Failed cudaGraphicsGLRegisterImage\n");

}