Finite automata whose computations can be reversed, at any point, by knowing the last [Formula: see text] symbols read from the input, for a fixed [Formula: see text], are considered. These devices and their accepted languages are called [Formula: see text]-reversible automata and [Formula: see text]-reversible languages, respectively. The existence of [Formula: see text]-reversible languages which are not [Formula: see text]-reversible is known, for each [Formula: see text]. This gives an infinite hierarchy of weakly irreversible languages, i.e., languages which are [Formula: see text]-reversible for some [Formula: see text]. Conditions characterizing the class of [Formula: see text]-reversible languages, for each fixed [Formula: see text], and the class of weakly irreversible languages are obtained. From these conditions, a procedure that given a finite automaton decides if the accepted language is weakly or strongly (i.e., not weakly) irreversible is described. Furthermore, a construction which allows to transform any finite automaton which is not [Formula: see text]-reversible, but which accepts a [Formula: see text]-reversible language, into an equivalent [Formula: see text]-reversible finite automaton, is presented.