multiple bezier patches

When rendering Bezier patches, the call glMap2f() should be done in an Init()procedure for speed purposes. glEvalMesh2() should be in a Render() procedure, called each frame.
However, in the case of multiple patches I am forced to put glMap2f() and glMapGrid2f() in the Render() procedure, decreasing the performance.
Is this a limitation of the OpenGL state machine (it renders only the current patch) or is there a way around it?
Ideally I should be able to just call glEvalMesh2() for every patch.