1 diff --git a/src/cairo-xlib-surface.c b/src/cairo-xlib-surface.c
2 index 353cbcd..1a053d0 100644
3 --- a/src/cairo-xlib-surface.c
4 +++ b/src/cairo-xlib-surface.c
5 @@ -1818,7 +1817,8 @@ _recategorize_composite_operation (cairo_xlib_surface_t *dst,
9 - if (dst->buggy_repeat && src_attr->extend == CAIRO_EXTEND_REPEAT)
10 + if (dst->buggy_repeat && src_attr->extend == CAIRO_EXTEND_REPEAT &&
11 + (src->width != 1 || src->height != 1))
12 return DO_UNSUPPORTED;
14 if (! CAIRO_SURFACE_RENDER_HAS_COMPOSITE (src))