Differences in VHDL syntax
A cleaner alternative, preventing the mistake illustrated by the question : 

Use named rather than positional association.

x_out &lt;= (31 =&gt; x_in(15),
          30 =&gt; x_in(6),
          29 =&gt; x_in(19), 
          ...
          1  =&gt; x_in(3),
          0  =&gt; x_in(24));