diff --git a/common/ttcn3float.hh b/common/ttcn3float.hh
index dd71ec3fc714f81acf9b8f88a28fa6c8f46cac37..74549a494479502338497ec60f17c9eccd173ed5 100644
--- a/common/ttcn3float.hh
+++ b/common/ttcn3float.hh
@@ -23,6 +23,8 @@
    are displayed in exponential notation. */
 #define MAX_DECIMAL_FLOAT		1.0E+10
 
+#if __clpusplus < 201103L // signbit is a function in C++11, not a macro
+
 #ifndef signbit
 // Probably Solaris.
 // Thankfully, IEEE Std 1003.1, 2004 Edition says that signbit is a macro,
@@ -49,6 +51,8 @@ inline int signbitfunc(double d)
 
 #endif // def signbit
 
+#endif // __clpusplus < 201103L
+
 /** A class which behaves almost, but not quite, entirely unlike
  *  a floating-point value.
  *