I have a program with two tools. Tool 1 is 3 inches long. Tool 2 is 2 inches long. Tool zero is calibrated with tool 1, so both tool 0 and 1  have identical offsets. .  In the tool offset window, I see that the offset for tool 2 is recognized and saved.  During calibration, when I send the tools to Z, they both go to their zero point, recognizing their respective offsets.
However, when I am running the program, tool 2 fails to go lower, that is, it fails to go lower by that 1" offset.
The program stops, asking for a tool change. When I press "cycle", the new tool number is displayed as well as the offset, but the actual depth is off by that one inch. 
Any ideas why?
thanks in advance.
tc