This paper studies fault tolerant algorithms for the problem of gathering <i>N</i> autonomous mobile robots. A gathering algorithm, executed independently by each robot, must ensure that all robots are gathered at one point within finite time. It is first observed that most existing algorithms fail to operate correctly in a setting allowing crash failures. Subsequently, an algorithm tolerant against one crash-faulty robot in a system of three or more robots is presented. It is then shown that in an asynchronous environment it is impossible to perform a successful gathering in a 3-robot system with one Byzantine failure. Finally, in a fully synchronous system, an algorithm is provided for gathering <i>N</i> ≥ 3 robots with at most a single faulty robot, and a more general gathering algorithm is given in an <i>N</i>-robot system with up to <i>f</i> faults, where <i>N</i> ≥ 3 <i>f</i> +1.