I do not believe that this should run more than once.

Also, doesn't this leak the procedure as written?