diff --git a/peyotls.cabal b/peyotls.cabal
--- a/peyotls.cabal
+++ b/peyotls.cabal
@@ -2,7 +2,7 @@
 cabal-version:	>= 1.8
 
 name:		peyotls
-version:	0.1.4.0
+version:	0.1.4.1
 stability:	Experimental
 author:		Yoshikuni Jujo <PAF01143@nifty.ne.jp>
 maintainer:	Yoshikuni Jujo <PAF01143@nifty.ne.jp>
@@ -281,7 +281,7 @@
 source-repository	this
     type:	git
     location:	git://github.com/YoshikuniJujo/peyotls.git
-    tag:	peyotls-0.1.4.0
+    tag:	peyotls-0.1.4.1
 
 library
     hs-source-dirs:	src
diff --git a/src/Network/PeyoTLS/TChan/Client.hs b/src/Network/PeyoTLS/TChan/Client.hs
--- a/src/Network/PeyoTLS/TChan/Client.hs
+++ b/src/Network/PeyoTLS/TChan/Client.hs
@@ -41,7 +41,7 @@
 		wmk = kWMKey k
 		CipherSuite _ rcs = kRCSuite k
 		CipherSuite _ wcs = kWCSuite k
-	_ <- liftBaseDiscard forkIO . forever . (`runStateT` (g', 1)) $ do
+	_ <- liftBaseDiscard forkIO . (`evalStateT` (g', 1)) . forever $ do
 		wpln <- liftBase . atomically $ readTChan otc
 		(g0, sn) <- get
 		let	hs = case wcs of
@@ -55,7 +55,7 @@
 			. (B.encode :: Word16 -> BSC.ByteString) . fromIntegral
 			$ BSC.length wenc
 		lift $ hlPut h wenc
-	_ <- liftBaseDiscard forkIO . forever . (`runStateT` 1) $ do
+	_ <- liftBaseDiscard forkIO . (`evalStateT` 1) . forever $ do
 		sn <- get
 		modify succ
 		pre <- lift $ hlGet h 3
