Registration between a volume and a mesh

I have a vtkvolume object and got from it a mesh_1 through marchingcubes; then I copied that mesh and applied a translation, let’s name it mesh_2.
So my probelm is that when i’m using vtkIterativeClosestPointTransform between two meshes, I have the correct results expected; But when I apply it between mesh_2 object and the vtkvolume object, I got wrong results.
Am I doing something wrong?
Thank you for your helps!