Fix the guard code, now it works if the destination and source are the same or no destination is given, as long as the source file exists.