One of the first things the directive loadingSrc does is remove the attribute ngSrc to take over of the image load process. The problem is that after the loading process ends the changes in the value passed to the ngSrc directive are no longer watched.