diff --git a/common-kex.c b/common-kex.c
index 2907715162f1e2b96afa687089c4acef5c90ff1e..e2b4f8e5d32c7e961082aa2a0fcb7f06881dba58 100644
--- a/common-kex.c
+++ b/common-kex.c
@@ -703,6 +703,9 @@ void kexecdh_comb_key(struct kex_ecdh_param *param, buffer *pub_them,
 	ecc_key *Q_C, *Q_S, *Q_them;
 
 	Q_them = buf_get_ecc_raw_pubkey(pub_them, algo_kex->ecc_curve);
+	if (Q_them == NULL) {
+		dropbear_exit("ECC error");
+	}
 
 	ses.dh_K = dropbear_ecc_shared_secret(Q_them, &param->key);