diff --git a/ChangeLog b/ChangeLog
index 887d4791b82e18d58cf7ddb542dcc71999e65e52..0f6dd264aee5e3dee99ae61c52f3dde68fe63486 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -2,6 +2,9 @@
 
 	* testsuite/dsa-keygen-test.c (test_main): Explicitly use
 	dsa_compat_generate_keypair.
+	(test_main): Test dsa_generate_params and dsa_generate_keypair
+	with a large q; p_bits = 1024, q_bits = 768.
+
 	* testsuite/testutils.h: Undo dsa-compat.h name mangling.
 
 	* dsa-keygen.c (dsa_generate_keypair): New interface, generating
diff --git a/testsuite/dsa-keygen-test.c b/testsuite/dsa-keygen-test.c
index 25757c95fb606606c1b466a38cb70f298cc0d05a..6fee1da5d697028beb14e6b8b602166e1f80180c 100644
--- a/testsuite/dsa-keygen-test.c
+++ b/testsuite/dsa-keygen-test.c
@@ -49,6 +49,20 @@ test_main(void)
 
   test_dsa_key(params, pub.y, key.x, 224);
   test_dsa256(&pub, &key, NULL);
+
+  /* Test with large q */
+  if (!dsa_generate_params (params,
+			    &lfib,
+			    (nettle_random_func *) knuth_lfib_random,
+			    NULL, verbose ? progress : NULL,
+			    1024, 768))
+    FAIL();
+
+  dsa_generate_keypair (params, pub.y, key.x,
+			&lfib,
+			(nettle_random_func *) knuth_lfib_random);
+  test_dsa_key(params, pub.y, key.x, 768);
+  test_dsa256(&pub, &key, NULL);
   
   dsa_public_key_clear(&pub);
   dsa_private_key_clear(&key);