michael@0: diff --git a/src/cairo-xlib-surface.c b/src/cairo-xlib-surface.c michael@0: index 353cbcd..1a053d0 100644 michael@0: --- a/src/cairo-xlib-surface.c michael@0: +++ b/src/cairo-xlib-surface.c michael@0: @@ -1818,7 +1817,8 @@ _recategorize_composite_operation (cairo_xlib_surface_t *dst, michael@0: return DO_XTILE; michael@0: } michael@0: michael@0: - if (dst->buggy_repeat && src_attr->extend == CAIRO_EXTEND_REPEAT) michael@0: + if (dst->buggy_repeat && src_attr->extend == CAIRO_EXTEND_REPEAT && michael@0: + (src->width != 1 || src->height != 1)) michael@0: return DO_UNSUPPORTED; michael@0: michael@0: if (! CAIRO_SURFACE_RENDER_HAS_COMPOSITE (src))