diff --git a/Graphics/Rendering/Chart/Event.hs b/Graphics/Rendering/Chart/Event.hs
--- a/Graphics/Rendering/Chart/Event.hs
+++ b/Graphics/Rendering/Chart/Event.hs
@@ -1,4 +1,5 @@
 {-# LANGUAGE TemplateHaskell #-}
+{-# LANGUAGE CPP #-}
 module Graphics.Rendering.Chart.Event (
     PlotEvent(..),
     Event(..),
@@ -22,6 +23,11 @@
 import Data.Default
 import Control.Monad
 
+#if ! MIN_VERSION_Chart(1,7,0)
+-- legacy map for Chart<1.7
+#    define BackendProgram ChartBackend
+#endif
+
 data Event t e = LongEvent (t,Bool) (t,Bool) e  -- ^ An event that has a beginning and an end. 
                                                 --   True = "known explicitly", False = "implicit" (e.g. imposed by axis bounds)
                | PulseEvent t e   -- ^ A zero-length event
@@ -72,20 +78,20 @@
       _plot_all_points = plotAllPointsEvent p
     }
 
-renderPlotLegendEvent :: PlotEvent t e -> Rect -> ChartBackend ()
+renderPlotLegendEvent :: PlotEvent t e -> Rect -> BackendProgram ()
 renderPlotLegendEvent p r = return ()
 
 
-filledRect :: FillStyle -> Rect -> ChartBackend ()
+filledRect :: FillStyle -> Rect -> BackendProgram ()
 filledRect fs r = withFillStyle fs $ fillPath (rectPath r)
 
-framedRect :: LineStyle -> Rect -> ChartBackend ()
+framedRect :: LineStyle -> Rect -> BackendProgram ()
 framedRect ls r = withLineStyle ls $ strokePath (rectPath r)
 
 barHeight = 7
 pulseHeight = 15
 
-renderPlotEvent :: PlotEvent t e -> PointMapFn t e  -> ChartBackend ()
+renderPlotEvent :: PlotEvent t e -> PointMapFn t e  -> BackendProgram ()
 renderPlotEvent p pmap = do
       withLineStyle (p ^. plot_event_track_linestyle) $ do
         strokePointPath [Point x0 cy, Point x1 cy]
diff --git a/timeplot.cabal b/timeplot.cabal
--- a/timeplot.cabal
+++ b/timeplot.cabal
@@ -1,5 +1,5 @@
 name: timeplot
-version: 1.0.31
+version: 1.0.32
 cabal-version: >=1.6
 build-type: Simple
 license: BSD3
