I am at a loss why you still have this guy working for you !

He seems to be a "one step forward, two steps back" kind of guy.

Granted he keeps coming back, though apparently that is even rarely.

This is not a work ethic I would tolerate very long.

What is keeping you from firing him and having the work finished by someone else?

Most importantly - Have you already paid him in full?