diff --git a/test/main.h b/test/main.h
index a8c6303b0..4ddd11e6b 100644
--- a/test/main.h
+++ b/test/main.h
@@ -23,9 +23,6 @@
// License and a copy of the GNU General Public License along with
// Eigen. If not, see .
-#define min(A,B) please_protect_your_min_with_parentheses
-#define max(A,B) please_protect_your_max_with_parentheses
-
#include
#include
#include
@@ -33,6 +30,15 @@
#include
#include
#include
+#include
+#include
+#include
+#include
+#include
+#include
+
+#define min(A,B) please_protect_your_min_with_parentheses
+#define max(A,B) please_protect_your_max_with_parentheses
#ifdef NDEBUG
#undef NDEBUG
diff --git a/test/sparse.h b/test/sparse.h
index 949a597fc..cc9da4855 100644
--- a/test/sparse.h
+++ b/test/sparse.h
@@ -29,6 +29,15 @@
#include "main.h"
#if EIGEN_GNUC_AT_LEAST(4,0) && !defined __ICC && !defined(__clang__)
+
+#ifdef min
+#undef min
+#endif
+
+#ifdef max
+#undef max
+#endif
+
#include
#define EIGEN_UNORDERED_MAP_SUPPORT
namespace std {