We think somewhere along the way casting directors have started to assume that Ben Barnes normally wears his hair long. We say that because every time he's in a movie, his hair magically seems to grow.
Look at any picture of Barnes when he's not on a movie set, and you'll find he has some of the neatest hair in Hollywood. Watch any of his films, and sometimes it's flowing past his shoulders. As far as we can tell, he always uses extensions rather than growing it.