Applying shrinkwrap modifier corrupts the shape I've added lots of circles around a mesh in an effort to retopologize it with BSurfaces later. But I never get so far.

I've applied shrinkwrap on them all with the object as the target, and linked the modifier.

This works well so far:



But then I want to join the objects into one object. This creates problems because it now has only one origin and shrinkwraps all circles towards the new origin:



So, I thought, to fix this I should apply the modifier to the objects first, so that they retain their shape when they are joined. But if I try to apply the modifier, this happens:



I have no idea what's going on here.

Why does it get this shape when I apply the modifier, and how can I fix it?

And a side-question: How could I apply the modifier to all of the selected rings, instead of one by one?
This is because the objects are Curve objects. Note the warning in the Info panel that appears when the modifier is applied:



When the modifier is active (not applied) it affects the polygon geometry generated by the curve object. When you apply the modifier it will only affect the Control Vertices (CV points) of the curve, giving a different result:



As you can see, the CV points are shrink-wrapped to the edges of the mesh, redefining the geometry defined by the curve.

To retain the shape, you must convert the object to a Mesh. This can be done with AltC> Convert > Mesh. This will take the geometry generated by the curve object and turn it into a mesh object:



Note that this will apply all modifiers as well. (See this post)