diff --git a/crypto/dh.c b/crypto/dh.c
index 8f79269db2b7c67e25a657bdf2e76fb690185e09..09a44de4209d1632b9478917c45a03049c667cbb 100644
--- a/crypto/dh.c
+++ b/crypto/dh.c
@@ -174,7 +174,7 @@ static int dh_compute_value(struct kpp_request *req)
 		}
 		ret = dh_is_pubkey_valid(ctx, base);
 		if (ret)
-			goto err_free_val;
+			goto err_free_base;
 	} else {
 		base = ctx->g;
 	}