A method for synchronization of a plurality of clocks in a magnetic navigation system for navigating wireless tools, each clock having a clock time, wherein the magnetic navigation system comprises a generator part and a receiver part, the generator part comprising coils which generate magnetic fields, the receiver part comprising a magnetic field sensor within the distal end of a tool to be navigated, the sensor generating electrical signals in response to the magnetic fields, and the generator part and the receiver part each using a different one of the plurality of clocks , the method comprising: for each of the plurality of clocks : sending a plurality of gong signals to the clock, each gong signal comprising a gong signal time and the plurality of gong signals being sent with a fixed amount of time in between; if one of the plurality of gong signals is received by the clock, then comparing the gong signal time to the clock time, and if the gong signal time is not equal to the clock time, then calculating a skew between the gong signal time and the clock time, and setting the clock time to the gong signal time; and if a subsequent one of the plurality of gong signals is not received by the clock after the fixed amount of time plus the skew plus an additional wait time, then adjusting the clock time by the calculated skew. wherein the magnetic navigation system comprises a generator part and a receiver part, the generator part comprising coils which generate magnetic fields, the receiver part comprising a magnetic field sensor within the distal end of a tool to be navigated, the sensor generating electrical signals in response to the magnetic fields, and the generator part and the receiver part each using a different one of the plurality of clocks , the method comprising: for each of the plurality of clocks : sending a plurality of gong signals to the clock, each gong signal comprising a gong signal time and the plurality of gong signals being sent with a fixed amount of time in between; if one of the plurality of gong signals is received by the clock, then comparing the gong signal time to the clock time, and if the gong signal time is not equal to the clock time, then calculating a skew between the gong signal time and the clock time, and setting the clock time to the gong signal time; and if a subsequent one of the plurality of gong signals is not received by the clock after the fixed amount of time plus the skew plus an additional wait time, then adjusting the clock time by the calculated skew. sending a plurality of gong signals to the clock, each gong signal comprising a gong signal time and the plurality of gong signals being sent with a fixed amount of time in between; if one of the plurality of gong signals is received by the clock, then comparing the gong signal time to the clock time, and if the gong signal time is not equal to the clock time, then calculating a skew between the gong signal time and the clock time, and setting the clock time to the gong signal time; and if a subsequent one of the plurality of gong signals is not received by the clock after the fixed amount of time plus the skew plus an additional wait time, then adjusting the clock time by the calculated skew. <EOS>