Strange behavior with deferred objects

Strange behavior with deferred objects

Hi hi !

Someone can explain me this behavior ?
http://jsfiddle.net/mWnDN/

If you click on button 2, It works has expected the correct callback is applied.
If you click on button 1, both callbacks are launch (done and fail).

I don't understand why. I think i missed something about callbacks behaviors but I don't know what. Can someone lead me to an explanation ?

Thanks in advance and sorry for my english