diff --git a/dynamic-state.cabal b/dynamic-state.cabal
--- a/dynamic-state.cabal
+++ b/dynamic-state.cabal
@@ -1,5 +1,5 @@
 name:                dynamic-state
-version:             0.1.0.4
+version:             0.1.0.5
 synopsis:            Optionally serializable dynamic state keyed by type
 description:         Optionally serializable dynamic state keyed by type
 license:             GPL-2
diff --git a/src/Data/DynamicState/Serializable.hs b/src/Data/DynamicState/Serializable.hs
--- a/src/Data/DynamicState/Serializable.hs
+++ b/src/Data/DynamicState/Serializable.hs
@@ -43,7 +43,7 @@
 fromDynamic :: forall a. (Typeable a, Binary a) => Dynamic -> Maybe (a,Bool)
 fromDynamic (Dynamic b) = (,False) <$> cast b
 #if __GLASGOW_HASKELL__ < 708
-fromDynamic (Serial bs) = (Just $ decode bs,True)
+fromDynamic (Serial bs) = (,True) <$> (Just $ decode bs)
 #else
 fromDynamic (Serial bs) = let b = either (const Nothing) (\(_,_,a) -> Just a) $ decodeOrFail bs in (,True) <$> b
 #endif
