diff --git a/crypto/dap_enc_oaes.c b/crypto/dap_enc_oaes.c
index a43938c23957f5d530979b233414f31dc9614380..d0a37d66dae177859a4b13cc68be846ae0561da9 100644
--- a/crypto/dap_enc_oaes.c
+++ b/crypto/dap_enc_oaes.c
@@ -53,18 +53,16 @@ void dap_enc_oaes_key_generate(struct dap_enc_key * a_key, const void *kex_buf,
         return;
     }
 
-    if(seed_size < OAES_BLOCK_SIZE) {
-        log_it(L_ERROR, "seed_size can't be less than OAES_BLOCK_SIZE");
-        return;
-    }
-
     OAES_RET r = oaes_key_import_data(ctx, kex_buf, key_size);
     if(r != OAES_RET_SUCCESS) {
         log_it(L_ERROR, "Error generate key");
         return;
     }
 
-    memcpy(ctx->iv, seed, OAES_BLOCK_SIZE);
+    if(seed_size >= OAES_BLOCK_SIZE)
+        memcpy(ctx->iv, seed, OAES_BLOCK_SIZE);
+    else
+        memset(ctx->iv, 0, OAES_BLOCK_SIZE);
 }
 
 size_t dap_enc_oaes_calc_encode_size(const size_t size_in)