diff --git a/dune/elasticity/common/hyperdual.hh b/dune/elasticity/common/hyperdual.hh
index 95ab3de7bdbf37e1f49f88f4435ff20565b0041a..0764ca09e3e5bd14c64a679443a473fb6d5073c0 100644
--- a/dune/elasticity/common/hyperdual.hh
+++ b/dune/elasticity/common/hyperdual.hh
@@ -609,6 +609,30 @@ bool operator!= (hyperdual lhs, double rhs)
 	return (lhs.f0 != rhs);
 }
 
+bool isnormal( const hyperdual& x )
+{
+  using std::isnormal;
+  return isnormal(x.real());
+}
+
+bool isfinite( const hyperdual& x )
+{
+  using std::isfinite;
+  return isfinite(x.real());
+}
+
+bool isnan( const hyperdual& x )
+{
+  using std::isnan;
+  return isnan(x.real());
+}
+
+bool isinf( const hyperdual& x )
+{
+  using std::isinf;
+  return isinf(x.real());
+}
+
 
 namespace std
 {