diff --git a/dune/common/fvector.hh b/dune/common/fvector.hh
index 1a19de74b30ab01d7b81927274c79e85f6c9a817..c89725192ea2e1dd643609a1cac1271cb776adf9 100644
--- a/dune/common/fvector.hh
+++ b/dune/common/fvector.hh
@@ -10,6 +10,7 @@
 #include <complex>
 #include <cstring>
 
+#include "typetraits.hh"
 #include "exceptions.hh"
 #include "array.hh"
 #include "densevector.hh"
@@ -124,9 +125,19 @@ namespace Dune {
     FieldVector (const FieldVector & x) : _data(x._data)
     {}
 
-    //! Constructor making vector with identical coordinates
+    /**
+     * \brief Constructor making vector with identical coordinates
+     *
+     * If the DenseVector type of the this constructors argument
+     * is impemented by a FieldVector, it is statically checked
+     * if it has the correct size. If this is not the case
+     * the constructor is removed from the overload set using SFINAE.
+     *
+     * \param[in]  x  A DenseVector with correct size.
+     * \param[in]  dummy  A void* dummy argument needed by SFINAE.
+     */
     template<class C>
-    FieldVector (const DenseVector<C> & x)
+    FieldVector (const DenseVector<C> & x, typename Dune::enable_if<IsFieldVectorSizeCorrect<C,SIZE>::value>::type* dummy=0 )
     {
       dune_static_assert(((bool)IsFieldVectorSizeCorrect<C,SIZE>::value), "FieldVectors do not match in dimension!");
       assert(x.size() == SIZE);