diff --git a/Graphics/Rendering/Cairo/Internal.hs b/Graphics/Rendering/Cairo/Internal.hs
--- a/Graphics/Rendering/Cairo/Internal.hs
+++ b/Graphics/Rendering/Cairo/Internal.hs
@@ -51,13 +51,14 @@
 import Graphics.Rendering.Cairo.Internal.Utilities
 
 import Control.Monad.Reader
+import Control.Applicative
 import Control.Exception (bracket)
 
 -- | The Render monad. All drawing operations take place in a Render context.
 -- You can obtain a Render context for a 'Surface' using 'renderWith'.
 --
 newtype Render m = Render { runRender :: ReaderT Cairo IO m }
-  deriving (Functor, Monad, MonadIO, MonadReader Cairo)
+  deriving (Functor, Applicative, Monad, MonadIO, MonadReader Cairo)
 
 {-# INLINE bracketR #-}
 bracketR :: IO a -> (a -> IO b) -> (a -> Render c) -> Render c
diff --git a/cairo.cabal b/cairo.cabal
--- a/cairo.cabal
+++ b/cairo.cabal
@@ -1,5 +1,5 @@
 Name:           cairo
-Version:        0.12.5.0
+Version:        0.12.5.1
 License:        BSD3
 License-file:   COPYRIGHT
 Copyright:      (c) 2001-2010 The Gtk2Hs Team, (c) Paolo Martini 2005, (c) Abraham Egnor 2003, 2004, (c) Aetion Technologies LLC 2004
