Array and curve modifiers behave strangely I'm trying to create a road from a plane and a curve which I obtained from converting a mesh. This mesh was at its turn obtained by using the shrink wrap modifier on two meshes. Explained in this question.



This is how the setup looks

I created a small plane at the lower left side of the path from top view, intended to be replicated along the path to form the road, as explained in this tutorial.



This is how the modifiers for the plane look.



And this is the monstrosity which I get when I select 'Road' as the Curve modifier's object

What I would like is that the plane would follow the path and create a road over the mountain. I tried playing with the settings of both modifiers but I'm not getting anywhere expected.

What am I doing wrong?
It was an origin related issue as suggested in the comments by MarcClintDion and cegaton.

What I did to fix it was:


Switched to edit mode with the curve selected;
Selected the first vertex of the curve;
Snap Shift + S > Cursor to selected;
Got out of edit mode;
Set Origin Shift + Ctrl + Alt + C >Origin to 3D Cursor;
Selected the plane; 
Set Origin Shift + Ctrl + Alt + C > Origin 3D Cursor.


Not sure if steps 6 and 7 are necessary.

Additionally because the generated road was getting crazy cambers in some parts I went to the curve's properties and set Twisting to Z-Up.