diff --git a/dune/common/test/tupleutilitytest.cc b/dune/common/test/tupleutilitytest.cc
index c91c7a1f765fb12c45727f939f8d21928b63592c..e94cd9ecfc47f1c7abee3ff349059a803fa5dd7a 100644
--- a/dune/common/test/tupleutilitytest.cc
+++ b/dune/common/test/tupleutilitytest.cc
@@ -5,7 +5,9 @@
 #include "config.h"
 #endif
 
+#include <cmath>
 #include <cstddef>
+#include <iostream>
 
 #include <dune/common/tuples.hh>
 #include <dune/common/tupleutility.hh>
@@ -142,5 +144,28 @@ typedef std::tuple<
 static_assert((std::is_same<Primes1, Primes2>::value),
               "ReduceTuple failed in primes-tmp!");
 
+struct Reciprocal
+{
+  template<class>
+  struct TypeEvaluator
+  {
+    typedef double Type;
+  };
+  template<class T>
+  typename TypeEvaluator<T>::Type operator()(const T& val) const {
+    return 1./val;
+  };
+};
 
-int main() {}
+int main() {
+  const std::tuple<int, double> t1(1, 2.);
+  auto t2 = Dune::genericTransformTuple(t1, Reciprocal());
+  static_assert(std::is_same<decltype(t2), std::tuple<double, double>>::value,
+                "Type after genericTransformTuple does not match!");
+  if(fabs(std::get<0>(t2)-1.) > 1e-8 ||
+     fabs(std::get<1>(t2)-.5) > 1e-8)
+  {
+    std::cout << "genericTransformTuple gives wrong result!\n";
+    std::abort();
+  }
+}