diff --git a/diagrams-wx.cabal b/diagrams-wx.cabal
--- a/diagrams-wx.cabal
+++ b/diagrams-wx.cabal
@@ -1,5 +1,5 @@
 name:                  diagrams-wx
-version:               0.1.0.0
+version:               0.1.1.0
 synopsis:              Backend for rendering diagrams in wxWidgets
 description:           An optional add-on to the diagrams-cairo package which
                        allows rendering diagrams in wxWidgets (using wxHaskell).
@@ -14,6 +14,10 @@
 build-type:            Simple
 cabal-version:         >=1.10
 
+flag buildExample
+  description: Build example executable
+  default:     False
+
 library
   hs-source-dirs:      src
   exposed-modules:     Diagrams.Backend.WX
@@ -27,15 +31,18 @@
   c-sources:           lib/util.c
 
 executable diagrams-wx-demo
-  hs-source-dirs:      demo
-  main-is:             Demo.hs
-  build-depends:       base
+  if flag(buildExample)
+    build-depends:     base
                      , diagrams-wx
                      , cairo >= 0.12.4 && < 0.14
                      , diagrams-cairo >= 1.3 && < 1.4
                      , diagrams-lib >= 1.3 && < 1.4
                      , wx >= 0.92 && < 0.93
                      , wxcore >= 0.92 && < 0.93
+  else
+    buildable: False
+  hs-source-dirs:      demo
+  main-is:             Demo.hs
   ghc-options:         -threaded -rtsopts -with-rtsopts=-N
   default-language:    Haskell2010
 
diff --git a/lib/util.c b/lib/util.c
--- a/lib/util.c
+++ b/lib/util.c
@@ -9,12 +9,11 @@
   unsigned char * cairoEnd = cairo + size;
 
   while (cairo < cairoEnd) {
-    float a1 = (float) cairo[3] / 255;
-    float a2 = 1 - a1;
+    float a = 1 - (float) cairo[3] / 255;
 
-    wx[0] = (unsigned char) ((float) cairo[2] * a1 + r * a2);
-    wx[1] = (unsigned char) ((float) cairo[1] * a1 + g * a2);
-    wx[2] = (unsigned char) ((float) cairo[0] * a1 + b * a2);
+    wx[0] = (unsigned char) ((float) cairo[2] + r * a);
+    wx[1] = (unsigned char) ((float) cairo[1] + g * a);
+    wx[2] = (unsigned char) ((float) cairo[0] + b * a);
 
     cairo += 4;
     wx += 3;
