diff --git a/libcelt/ecintrin.h b/libcelt/ecintrin.h
index 9fce3be12bbe216b4184e2e526e200323e914861..4cb4d1fdcb98cdf023a5db6aca51830b96e3a16a 100644
--- a/libcelt/ecintrin.h
+++ b/libcelt/ecintrin.h
@@ -52,7 +52,7 @@
 /*Count leading zeros.
   This macro should only be used for implementing ec_ilog(), if it is defined.
   All other code should use EC_ILOG() instead.*/
-#ifdef __GNUC__
+#ifdef __GNUC_PREREQ
 #if __GNUC_PREREQ(3,4)
 # if INT_MAX>=2147483647
 #  define EC_CLZ0 sizeof(unsigned)*CHAR_BIT
@@ -74,7 +74,7 @@
 # define EC_ILOG(_x) (ec_ilog(_x))
 #endif
 
-#ifdef __GNUC__
+#ifdef __GNUC_PREREQ
 #if __GNUC_PREREQ(3,4)
 # if INT_MAX>=9223372036854775807
 #  define EC_CLZ64_0 sizeof(unsigned)*CHAR_BIT