diff --git a/src/pkg/crypto/cipher/cbc.go b/src/pkg/crypto/cipher/cbc.go
index 3efc8632827d710dc99c845bec994939d7944819..4632f882a4c12be0cdaa7cd2eb1d79c57d45eb2d 100644
--- a/src/pkg/crypto/cipher/cbc.go
+++ b/src/pkg/crypto/cipher/cbc.go
@@ -57,7 +57,7 @@ type cbcDecrypter cbc
 // NewCBCDecrypter returns a BlockMode which decrypts in cipher block chaining
 // mode, using the given Block. The length of iv must be the same as the
 // Block's block size as must match the iv used to encrypt the data.
-func NewCBCDecrypter(b Block, iv []byte) *cbcDecrypter {
+func NewCBCDecrypter(b Block, iv []byte) BlockMode {
 	return (*cbcDecrypter)(newCBC(b, iv))
 }