My mistake had nothing to do with endianness, but was because I did not read correctly the definition of TRANSFER(): transfer(1.0_16,x) is a scalar and I was expecting the result of transfer(1.0_16,ax), i.e. an array of rank one and length two. Thanks for the answer and sorry for the noise. Dominique