diff --git a/dune/solvers/iterationsteps/multigridstep.hh b/dune/solvers/iterationsteps/multigridstep.hh
index dc7f667d686e899b6c1b0028328848f2fffd9cc9..a81d9de8014ec41e2ad145d5b3f862be5f06610d 100644
--- a/dune/solvers/iterationsteps/multigridstep.hh
+++ b/dune/solvers/iterationsteps/multigridstep.hh
@@ -117,6 +117,20 @@ namespace Dune {
                 mgTransfer_[j] = transfer[j].get();
         }
 
+        /**
+         * \brief Set transfer operator hierarchy from vector.
+         *
+         * Be careful: The Multigrid step will not copy the transfer operators
+         * or share ownership
+         */
+        template <class DerivedTransfer>
+        void setTransferOperators(const std::vector<DerivedTransfer>& transfer)
+        {
+            mgTransfer_.resize(transfer.size());
+            for(size_t j=0; j<transfer.size(); ++j)
+                mgTransfer_[j] = &transfer[j];
+        }
+
         virtual void iterate();
 
         virtual void nestedIteration();