--- crypto/ec/ec_key.c	2012-02-17 20:06:31.906956656 -0800
+++ crypto/ec/ec_key.c	2012-02-17 19:37:35.292956747 -0800
@@ -268,10 +268,9 @@
 	if (!EC_GROUP_get_order(eckey->group, order, ctx))
 		goto err;
 
-	do
+	while (BN_is_zero(priv_key))
 		if (!BN_rand_range(priv_key, order))
 			goto err;
-	while (BN_is_zero(priv_key));
 
 	if (eckey->pub_key == NULL)
 		{
