diff --git a/Data/ASN1/Types/String.hs b/Data/ASN1/Types/String.hs
--- a/Data/ASN1/Types/String.hs
+++ b/Data/ASN1/Types/String.hs
@@ -123,7 +123,7 @@
                               , toCont (e `shiftR` 6)
                               , toCont e]
             | otherwise     = error "not a valid value"
-        toCont v = fromIntegral (0xc0 .&. (v .&. 0x3f))
+        toCont v = fromIntegral (0x80 .|. (v .&. 0x3f))
 
 decodeASCII :: ByteString -> String
 decodeASCII = BC.unpack
diff --git a/asn1-types.cabal b/asn1-types.cabal
--- a/asn1-types.cabal
+++ b/asn1-types.cabal
@@ -1,5 +1,5 @@
 Name:                asn1-types
-Version:             0.3.3
+Version:             0.3.4
 Description:         ASN.1 standard types
 License:             BSD3
 License-file:        LICENSE
