diff --git a/moffy-samples-events.cabal b/moffy-samples-events.cabal
--- a/moffy-samples-events.cabal
+++ b/moffy-samples-events.cabal
@@ -5,7 +5,7 @@
 -- see: https://github.com/sol/hpack
 
 name:           moffy-samples-events
-version:        0.2.2.3
+version:        0.2.2.4
 synopsis:       Events for sample codes of moffy
 description:    Please see the README on GitHub at <https://github.com/YoshikuniJujo/moffy-samples-events#readme>
 category:       Control
diff --git a/src/Control/Moffy/Samples/Run/TChan.hs b/src/Control/Moffy/Samples/Run/TChan.hs
--- a/src/Control/Moffy/Samples/Run/TChan.hs
+++ b/src/Control/Moffy/Samples/Run/TChan.hs
@@ -1,4 +1,4 @@
-{-# LANGUAGE BlockArguments #-}
+{-# LANGUAGE BlockArguments, LambdaCase #-}
 {-# OPTIONS_GHC -Wall -fno-warn-tabs #-}
 
 module Control.Moffy.Samples.Run.TChan where
@@ -21,7 +21,10 @@
 interpretSt h c = M.interpretSt h (liftIO . atomically . writeTChan c)
 
 interpretSt' :: (MonadIO m, Adjustable es es', Ord k) =>
-	HandleSt st m es' -> TVar (Map k v) -> TChan a -> Sig s es ([(k, v)], a) r -> St st m r
+	HandleSt st m es' -> TVar (Map k v) -> TChan a -> Sig s es ([(k, Maybe v)], a) r -> St st m r
 interpretSt' h vm c = M.interpretSt h \(kvs, x) -> liftIO $ atomically do
-	modifyTVar vm $ flip (Prelude.foldr (uncurry insert)) kvs
+	modifyTVar vm $ flip (Prelude.foldr (uncurry maybeInsert)) kvs
 	writeTChan c x
+
+maybeInsert :: Ord k => k -> Maybe a -> Map k a -> Map k a
+maybeInsert k = \case Nothing -> delete k; Just v -> insert k v
