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.0.0.18
+version:	0.0.0.19
 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.0.0.18
+    tag:	peyotls-0.0.0.19
 
 library
     hs-source-dirs:	src
diff --git a/src/Network/PeyoTLS/CipherSuite.hs b/src/Network/PeyoTLS/CipherSuite.hs
--- a/src/Network/PeyoTLS/CipherSuite.hs
+++ b/src/Network/PeyoTLS/CipherSuite.hs
@@ -12,6 +12,7 @@
 
 data CipherSuite
 	= CipherSuite KeyExchange BulkEncryption
+	| TLS_EMPTY_RENEGOTIATION_INFO_SCSV
 	| CipherSuiteRaw Word8 Word8
 	deriving (Show, Read, Eq)
 
@@ -47,6 +48,7 @@
 		(0x00, 0x3c) -> CipherSuite RSA AES_128_CBC_SHA256
 --		(0x00, 0x45) -> CipherSuite DHE_RSA CAMELLIA_128_CBC_SHA
 		(0x00, 0x67) -> CipherSuite DHE_RSA AES_128_CBC_SHA256
+		(0x00, 0xff) -> TLS_EMPTY_RENEGOTIATION_INFO_SCSV
 		(0xc0, 0x09) -> CipherSuite ECDHE_ECDSA AES_128_CBC_SHA
 		(0xc0, 0x13) -> CipherSuite ECDHE_RSA AES_128_CBC_SHA
 		(0xc0, 0x23) -> CipherSuite ECDHE_ECDSA AES_128_CBC_SHA256
@@ -62,6 +64,7 @@
 encodeCipherSuite (CipherSuite RSA AES_128_CBC_SHA256) = "\x00\x3c"
 -- encodeCipherSuite (CipherSuite DHE_RSA CAMELLIA_128_CBC_SHA) = "\x00\x45"
 encodeCipherSuite (CipherSuite DHE_RSA AES_128_CBC_SHA256) = "\x00\x67"
+encodeCipherSuite TLS_EMPTY_RENEGOTIATION_INFO_SCSV = "\x00\xff"
 encodeCipherSuite (CipherSuite ECDHE_ECDSA AES_128_CBC_SHA) = "\xc0\x09"
 encodeCipherSuite (CipherSuite ECDHE_RSA AES_128_CBC_SHA) = "\xc0\x13"
 encodeCipherSuite (CipherSuite ECDHE_ECDSA AES_128_CBC_SHA256) = "\xc0\x23"
diff --git a/src/Network/PeyoTLS/Server.hs b/src/Network/PeyoTLS/Server.hs
--- a/src/Network/PeyoTLS/Server.hs
+++ b/src/Network/PeyoTLS/Server.hs
@@ -177,10 +177,12 @@
 		Just cs -> cs; _ -> CipherSuite RSA AES_128_CBC_SHA
 fromClientHello _ _ = error "Server.fromClientHello: bad"
 
-getRenegoInfo :: [Extension] -> Maybe BS.ByteString
-getRenegoInfo [] = Nothing
-getRenegoInfo (ERenegoInfo rn : _) = Just rn
-getRenegoInfo (_ : es) = getRenegoInfo es
+getRenegoInfo :: [CipherSuite] -> [Extension] -> Maybe BS.ByteString
+getRenegoInfo [] [] = Nothing
+getRenegoInfo (TLS_EMPTY_RENEGOTIATION_INFO_SCSV : _) _ = Just ""
+getRenegoInfo (_ : css) e = getRenegoInfo css e
+getRenegoInfo [] (ERenegoInfo rn : _) = Just rn
+getRenegoInfo [] (_ : es) = getRenegoInfo [] es
 
 clientHello :: (HandleLike h, CPRG g) =>
 	[CipherSuite] -> HandshakeM h g (CipherSuite, BS.ByteString, Version, Bool)
@@ -191,7 +193,7 @@
 --	let rn = True
 	let (cf, rn) = case me of
 		Nothing -> ("", False)
-		Just e -> case getRenegoInfo e of
+		Just e -> case getRenegoInfo cscl e of
 			Nothing -> ("", False)
 			Just c -> (c, True)
 	debug "medium" ch
@@ -201,7 +203,7 @@
 	debug "low" "CLIENT FINISHES"
 	debug "low" cf
 	debug "low" cf0
---	unless (cf == cf0) $ E.throwError "clientHello"
+	unless (cf == cf0) $ E.throwError "clientHello"
 	chk cv cscl cms >> return (merge cssv cscl, cr, cv, rn)
 	where
 	merge sv cl = case find (`elem` cl) sv of
