diff --git a/ChangeLog b/ChangeLog
index c99c0d9f4e8f950be3a36446bb5d1113163a7955..1b5c40336edc85653991a344aa8c83208249ca86 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -2,6 +2,9 @@
 
 	* testsuite/testutils.c (die): Use plain vfprintf, not
 	gmp_vfprintf.
+	(write_mpn): New function.
+	(test_ecc_point): Use it, replacing gmp_fprintf.
+	* testsuite/testutils.h (write_mpn): Declare it.
 
 	* der-iterator.c: Deleted HAVE_LIBGMP conditionals.
 
diff --git a/testsuite/testutils.c b/testsuite/testutils.c
index 1791615724a3fba651b5230014dc7566c30652ae..a5f67f9d885f64c180478d2394e704d18b94f9a6 100644
--- a/testsuite/testutils.c
+++ b/testsuite/testutils.c
@@ -1282,6 +1282,13 @@ struct ecc_ref_point
   const char *y;
 };
 
+void
+write_mpn (FILE *f, int base, const mp_limb_t *xp, mp_size_t n)
+{
+  mpz_t t;
+  mpz_out_str (f, base, mpz_roinit_n (t,xp, n));
+}
+
 static void
 test_ecc_point (const struct ecc_curve *ecc,
 		const struct ecc_ref_point *ref,
@@ -1290,13 +1297,16 @@ test_ecc_point (const struct ecc_curve *ecc,
   if (! (test_mpn (ref->x, p, ecc->size)
 	 && test_mpn (ref->y, p + ecc->size, ecc->size) ))
     {
-      gmp_fprintf (stderr, "Incorrect point!\n"
-		   "got: x = %Nx\n"
-		   "     y = %Nx\n"
-		   "ref: x = %s\n"
-		   "     y = %s\n",
-		   p, ecc->size, p + ecc->size, ecc->size,
-		   ref->x, ref->y);
+      fprintf (stderr, "Incorrect point!\n"
+	       "got: x = ");
+      write_mpn (stderr, 16, p, ecc->size);
+      fprintf (stderr, "\n"
+	       "     y = ");
+      write_mpn (stderr, 16, p + ecc->size, ecc->size);
+      fprintf (stderr, "\n"
+	       "ref: x = %s\n"
+	       "     y = %s\n",
+	       ref->x, ref->y);
       abort();
     }
 }
diff --git a/testsuite/testutils.h b/testsuite/testutils.h
index 53f7017d2211e34c85ffe31492125d1fd971d95f..71b093d26ef57bae4c7030db57b3757038569cf2 100644
--- a/testsuite/testutils.h
+++ b/testsuite/testutils.h
@@ -164,6 +164,9 @@ test_armor(const struct nettle_armor *armor,
 mp_limb_t *
 xalloc_limbs (mp_size_t n);
 
+void
+write_mpn (FILE *f, int base, const mp_limb_t *xp, mp_size_t n);
+
 void
 test_rsa_set_key_1(struct rsa_public_key *pub,
 		   struct rsa_private_key *key);