diff --git a/ChangeLog b/ChangeLog
index 2b7f4b10849819a3c18c38dff24fda77628d42ba..40f17f4a94c3d491d549dea5a70aae69243b20e3 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -3,6 +3,7 @@
 	From Martin Storsjö. Fallback functions for older GMP releases.
 	* gmp-glue.c (mpn_copyd, mpn_copyi, mpn_zero): New functions.
 	* gmp-glue.h: Declare them.
+	(mpn_sqr): Fallback macro.
 
 	* gmp-glue.h (cnd_add_n, cnd_sub_n): Moved here, define in terms
 	of mpn_cnd_add_n and mpn_sub_n if available, otherwise in terms of
diff --git a/gmp-glue.h b/gmp-glue.h
index 3c4c0ac9a0b9aa7ba881b4914b4ed6242ddda92e..269667f436563631b995e624e4d7d52a3d4abe62 100644
--- a/gmp-glue.h
+++ b/gmp-glue.h
@@ -54,6 +54,10 @@
 #define mpn_zero  _nettle_mpn_zero
 #endif
 
+#ifndef mpn_sqr
+#define mpn_sqr(rp, ap, n) mpn_mul_n((rp), (ap), (ap), (n))
+#endif
+
 #define mpz_limbs_cmp _nettle_mpz_limbs_cmp
 #define mpz_limbs_read_n _nettle_mpz_limbs_read_n
 #define mpz_limbs_copy _nettle_mpz_limbs_copy