Accept NULL in *_free.
diff --git a/crypto/bn/bn_mont.c b/crypto/bn/bn_mont.c
index a5640b5..2215dc3 100644
--- a/crypto/bn/bn_mont.c
+++ b/crypto/bn/bn_mont.c
@@ -289,6 +289,9 @@
 void BN_MONT_CTX_free(mont)
 BN_MONT_CTX *mont;
 	{
+	if(mont == NULL)
+	    return;
+
 	BN_free(&(mont->RR));
 	BN_free(&(mont->N));
 	BN_free(&(mont->Ni));