why are you not resetting the delegate if it's set? This is strange, because you fail silently.  (ie, set isn't setting)