diff --git a/src/pk.cpp b/src/pk.cpp
index b8fe95be7339061a9c0c36c7e25041f3d213ecb6..e646dc433fce5a38a47f22aeb91d723399dc33b7 100644
--- a/src/pk.cpp
+++ b/src/pk.cpp
@@ -189,7 +189,7 @@ size_t olm_pk_generate_key(
     void * pubkey, size_t pubkey_length,
     void * random, size_t random_length
 ) {
-    if (pubkey_length < CURVE25519_KEY_LENGTH) {
+    if (pubkey_length < olm_pk_key_length()) {
         decryption->last_error =
             OlmErrorCode::OLM_OUTPUT_BUFFER_TOO_SMALL;
         return std::size_t(-1);