Robot acting wierd

Hi I have a problem with an IRC5 robot. It seems something's wrong with the coordinate system. Say I want it to move linearly from point a to point b in a straight line, Instead of doing that it makes like a wierd curve from point a to point b for no reason. Any ideas of what might be the reason of it doing this?

Also, everytime I turn it on, I have to jog every axis to 0 and reset the tachometer.