diff --git a/crypto/block-luks.c b/crypto/block-luks.c
index 57381247733729a50b840ce003748325be4be4b0..51e24d23cafdc57f8c5f5e444505539fef427b61 100644
--- a/crypto/block-luks.c
+++ b/crypto/block-luks.c
@@ -1341,6 +1341,9 @@ qcrypto_block_luks_create(QCryptoBlock *block,
     qcrypto_ivgen_free(ivgen);
     qcrypto_cipher_free(cipher);
 
+    qcrypto_cipher_free(block->cipher);
+    qcrypto_ivgen_free(block->ivgen);
+
     g_free(luks);
     return -1;
 }