diff --git a/ChangeLog b/ChangeLog
index 7f6d4f1ea38987a47bfd4612445970dc33767311..f11ea02ed8e731e58744ee413ce677a5fe8b25b2 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -2,6 +2,7 @@
 
 	* ecc-192.c: Check HAVE_NATIVE_ecc_192_modp, and use native
 	version if available.
+	(ecc_192_modp): Fixed carry handling bug in 32-bit version.
 
 	* x86_64/ecc-192-modp.asm: New file.
 
diff --git a/ecc-192.c b/ecc-192.c
index 9e785dc1a9b478857b9057c3c4ac024a9347d236..23015e4a5d30d0c29c024ebe84529d7892a40abf 100644
--- a/ecc-192.c
+++ b/ecc-192.c
@@ -66,7 +66,7 @@ ecc_192_modp (const struct ecc_curve *ecc UNUSED, mp_limb_t *rp)
   cy = sec_add_1 (rp + 5, rp + 5, 1, cy);
   
   assert (cy <= 1);
-  cy = cnd_add_n (cy, rp, ecc_Bmodp, 3);
+  cy = cnd_add_n (cy, rp, ecc_Bmodp, 6);
   assert (cy == 0);  
 }
 #elif GMP_NUMB_BITS == 64