diff --git a/src/pattern.c b/src/pattern.c
index 31e62d0..a9fdea0 100644
--- a/src/pattern.c
+++ b/src/pattern.c
@@ -71,6 +71,12 @@ gnumeric_background_set (GnmStyle const *mstyle, cairo_t *cr,
                gopat.pattern = patterns[pattern - 1];
                gopat.fore = gnm_style_get_pattern_color (mstyle)->go_color;
                gopat.back = gnm_style_get_back_color (mstyle)->go_color;
+               if (is_selected) {
+                       GOColor light;
+                       light = theme? GO_COLOR_FROM_GDK (theme->light[GTK_STATE
+                       gopat.fore = GO_COLOR_INTERPOLATE (light, gopat.fore, .5
+                       gopat.back = GO_COLOR_INTERPOLATE (light, gopat.back, .5
+               }
                crpat = go_pattern_create_cairo_pattern (&gopat, cr);
                cairo_set_source (cr, crpat);
                cairo_pattern_destroy (crpat);

