--- emacs/src/xterm.c.orig 2005-12-03 21:06:24.000000000 -0800 +++ emacs/src/xterm.c 2005-12-03 21:09:32.000000000 -0800 @@ -1360,7 +1360,7 @@ for (i = 0; i < s->nchars; ++i) ch[i] = s->char2b[i].byte2 | (s->char2b[i].byte1 << 8); XftDrawString16 (s->face->xft_draw, - &s->face->xft_fg, + s->hl == DRAW_CURSOR ? &s->face->xft_bg : &s->face->xft_fg, s->face->font, x, s->ybase - boff, @@ -1369,7 +1369,7 @@ } else XftDrawString8 (s->face->xft_draw, - &s->face->xft_fg, + s->hl == DRAW_CURSOR ? &s->face->xft_bg : &s->face->xft_fg, s->face->font, x, s->ybase - boff,