--- a/src/mp_std_bits.cc
+++ b/src/mp_std_bits.cc
@@ -25,6 +25,9 @@ site: http://bugseng.com/products/ppl/ . */
 #include "ppl-config.h"
 #include "mp_std_bits_defs.hh"
 
+#if __GNU_MP_VERSION < 5 \
+  || (__GNU_MP_VERSION == 5 && __GNU_MP_VERSION_MINOR < 1)
+
 const bool std::numeric_limits<mpz_class>::is_specialized;
 const int std::numeric_limits<mpz_class>::digits;
 const int std::numeric_limits<mpz_class>::digits10;
@@ -70,3 +73,6 @@ const bool std::numeric_limits<mpq_class>::is_modulo;
 const bool std::numeric_limits<mpq_class>::traps;
 const bool std::numeric_limits<mpq_class>::tininess_before;
 const std::float_round_style std::numeric_limits<mpq_class>::round_style;
+
+#endif // __GNU_MP_VERSION < 5
+       // || (__GNU_MP_VERSION == 5 && __GNU_MP_VERSION_MINOR < 1)
--- a/src/mp_std_bits.defs.hh
+++ b/src/mp_std_bits.defs.hh
@@ -38,6 +38,9 @@
 #endif // defined(PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS)
 void swap(mpq_class& x, mpq_class& y);
 
+#if __GNU_MP_VERSION < 5 \
+  || (__GNU_MP_VERSION == 5 && __GNU_MP_VERSION_MINOR < 1)
+
 namespace std {
 
 #ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
@@ -164,6 +167,9 @@
 
 } // namespace std
 
+#endif // __GNU_MP_VERSION < 5
+       // || (__GNU_MP_VERSION == 5 && __GNU_MP_VERSION_MINOR < 1)
+
 #include "mp_std_bits.inlines.hh"
 
 #endif // !defined(PPL_mp_std_bits_defs_hh)
