diff --git a/Yesod/EventSource.hs b/Yesod/EventSource.hs
--- a/Yesod/EventSource.hs
+++ b/Yesod/EventSource.hs
@@ -46,7 +46,18 @@
                -> HandlerT site IO TypedContent
 repEventSource src =
   prepareForEventSource >>=
-  respondEventStream . ES.sourceToSource . src
+  respondEventStream . sourceToSource . src
+
+-- | Convert a ServerEvent source into a Builder source of serialized
+-- events.
+sourceToSource :: Monad m => C.Source m ES.ServerEvent -> C.Source m (C.Flush Builder)
+sourceToSource src =
+    src C.$= C.awaitForever eventToFlushBuilder
+  where
+    eventToFlushBuilder event =
+        case ES.eventToBuilder event of
+            Nothing -> return ()
+            Just x -> C.yield (C.Chunk x) >> C.yield C.Flush
 
 
 -- | Return a Server-Sent Event stream given a 'HandlerT' action
diff --git a/yesod-eventsource.cabal b/yesod-eventsource.cabal
--- a/yesod-eventsource.cabal
+++ b/yesod-eventsource.cabal
@@ -1,5 +1,5 @@
 name:            yesod-eventsource
-version:         1.1.0.2
+version:         1.1.1
 license:         MIT
 license-file:    LICENSE
 author:          Felipe Lessa <felipe.lessa@gmail.com>
@@ -32,6 +32,7 @@
                    , conduit               >= 0.5      && < 1.2
                    , wai                   >= 1.3
                    , wai-eventsource       >= 1.3
+                   , wai-extra
                    , blaze-builder
                    , transformers
     exposed-modules: Yesod.EventSource
