let inplaceof, symb = Virtuals.symbol_of_virtual last_word in
        self#reset_similarsymbols;
        let s = Glib.Utf8.from_unichar symb in
-       let iter = source_buffer#get_iter_at_mark `INSERT in
        assert(Glib.Utf8.validate s);
        source_buffer#delete ~start:iter 
          ~stop:(iter#copy#backward_chars
            (MatitaGtkMisc.utf8_string_length inplaceof + len));
-       source_buffer#insert ~iter:(source_buffer#get_iter_at_mark `INSERT) 
+       source_buffer#insert ~iter
          (if inplaceof.[0] = '\\' then s else (s ^ tok));
        true
       with Virtuals.Not_a_virtual -> false