diff --git a/dune/fufem/test/Makefile.am b/dune/fufem/test/Makefile.am
index 234056be1e33167b34e92b185cd0f5f018325460..de45fb7b03ab7a1c8577ac79a3876a8874e13e82 100644
--- a/dune/fufem/test/Makefile.am
+++ b/dune/fufem/test/Makefile.am
@@ -19,7 +19,8 @@ TESTS = basisgridfunctiontest \
         ppmtest \
         serializationtest \
         subgridxyfunctionalassemblertest \
-        sumfunctiontest
+        sumfunctiontest \
+        tensortest
 
 # programs just to build when "make check" is used
 check_PROGRAMS = $(TESTS)
@@ -136,4 +137,6 @@ sumfunctiontest_CPPFLAGS = $(COMMON_CPPFLAGS) $(GRID_CPPFLAGS)
 sumfunctiontest_LDADD = $(COMMON_LDADD) $(GRID_LDADD)
 sumfunctiontest_LDFLAGS = $(COMMON_LDFLAGS) $(GRID_LDFLAGS)
 
+tensortest_SOURCES = tensortest.cc
+
 include $(top_srcdir)/am/global-rules
diff --git a/dune/fufem/test/tensortest.cc b/dune/fufem/test/tensortest.cc
new file mode 100644
index 0000000000000000000000000000000000000000..6e8d55b2748472c081bd96e8e44929ddddaadb63
--- /dev/null
+++ b/dune/fufem/test/tensortest.cc
@@ -0,0 +1,62 @@
+// -*- c-basic-offset:2 indent-tabs-mode:nil -*-
+
+#include <dune/fufem/symmetrictensor.hh>
+#include <dune/fufem/mechanics/isotropictensor.hh>
+#include <dune/fufem/mechanics/cubictensor.hh>
+#include <dune/fufem/mechanics/tetratensor.hh>
+
+#include <iostream>
+#include <cassert>
+
+int
+main()
+{
+  SymmetricTensor<3> e1;
+  e1(0,0) = 1;
+  e1(1,1) = 2;
+  e1(2,2) = 3;
+  e1(1,0) = 4;
+  e1(2,0) = 5;
+  e1(2,1) = 6;
+
+  SymmetricTensor<3> e2;
+  e2(0,0) = 1;
+  e2(1,1) = 2;
+  e2(2,2) = 3;
+  e2(0,1) = 4;
+  e2(0,2) = 5;
+  e2(1,2) = 6;
+
+  SymmetricTensor<3> const e3(e2);
+  std::cout << e3 << std::endl;
+  // There is no `operator() const`
+  //std::cout << e3(1,1) << std::endl;
+
+  assert(  e1 == e2);
+  assert(!(e1 != e2));
+
+  e2 *= 2;
+  assert(abs(e1 * e2 - 2 * (e1 * e1)) < 1e-10);
+
+  assert(!(e1 == e2));
+  assert(  e1 != e2);
+
+  e2 /= 2;
+  assert(abs(e1 * e1 - e1 * e2) < 1e-10);
+
+  IsotropicTensor<3> const C(.5,.25);
+  SymmetricTensor<3> h;
+  C.mv(e1, h);
+
+  std::cout << e1 << std::endl;
+  std::cout << h << std::endl;
+  std::cout << e1 * h << std::endl;
+  assert(abs(e1 * h - 74.4) < 1e-10); // e : C : e
+
+  TetraTensor<2> const tt2(1,2,3,4);
+  TetraTensor<3> const tt3(1,2,3,4,5,6);
+  CubicTensor<2> const ct2(1,2,3);
+  CubicTensor<3> const ct3(1,2,3);
+
+  return 0;
+}