Turn over a new leaf
CJam, 24 24 22 bytes
l~{):T]{s$}$(+T1+}gW&lt;p

Try it online.
Thanks Dennis for removing 2 bytes.
Explanation
l~          e# Read the input.
{           e# Do:
    ):T     e# Save the last item to T.
    ]       e# Wrap everything else (as an array) and the last item into an array,
    {s$}$   e#   where the one with -1 (having &quot;-&quot; if stringified) is the first item.
    (+      e# Insert the second array into the first array as the first item,
            e#   or just move the -1 to the end if the first item is already -1.
    T1+     e# Check if the array before this iteration ended with -1.
}g          e# Continue the loop if it did't.
W&lt;p         e# Remove the -1 and print.