It seems in function "private void bindShaderProgram(GL gl, VertexProgram shaderProgram, CanvasPeer canvas)" in VertexProgramShaderPeer (line 109):
if ((spHandle != -1) && shaderProgram.isDirty()) {
// handleBuffer.rewind(); // -- It is needed to rewind the buffer here.
handleBuffer.put(spHandle);
handleBuffer.rewind();
.................
Hope it is helpful.
Sorry guy I didn't read carefully your answer. I did as you suggested and it works perfectly ! Many thanks ! Now CellShading's on the way... (And BTW thanks also to c_lilian).