diff --git a/dune/gdt/operators/laplace-ipdg-flux-reconstruction.hh b/dune/gdt/operators/laplace-ipdg-flux-reconstruction.hh
index d37234ac2b40e4426679f0230d04d506cf9906c0..70d188f3b2d32ebe42cba46653e765945117d09d 100644
--- a/dune/gdt/operators/laplace-ipdg-flux-reconstruction.hh
+++ b/dune/gdt/operators/laplace-ipdg-flux-reconstruction.hh
@@ -23,6 +23,7 @@
 #include <dune/gdt/local/finite-elements/orthonormal.hh>
 #include <dune/gdt/local/integrands/ipdg.hh>
 #include <dune/gdt/operators/interfaces.hh>
+#include <dune/gdt/print.hh>
 #include <dune/gdt/spaces/mapper/finite-volume.hh>
 
 namespace Dune {
@@ -65,8 +66,13 @@ public:
                                         XT::Functions::GridFunction<E, d, d> diffusion,
                                         XT::Functions::GridFunction<E, d, d> weight_function = {1.},
                                         const std::function<double(const I&)>& intersection_diameter =
-                                            LocalIPDGIntegrands::internal::default_intersection_diameter<I>())
-    : assembly_grid_view_(assembly_grid_view)
+                                            LocalIPDGIntegrands::internal::default_intersection_diameter<I>(),
+                                        const std::string& logging_prefix = "")
+    : BaseType({},
+               logging_prefix.empty() ? "gdt" : "gdt.operators.fluxreconstruction",
+               logging_prefix.empty() ? "LaplaceIpdgFluxReconstructionOperator" : logging_prefix,
+               /*logging_disabled=*/logging_prefix.empty())
+    , assembly_grid_view_(assembly_grid_view)
     , source_space_(src_spc)
     , range_space_(rng_spc)
     , symmetry_prefactor_(symmetry_prefactor)
@@ -81,6 +87,23 @@ public:
     DUNE_THROW_IF(range_space_.max_polorder() != 0, Exceptions::operator_error, "Not implemented yet!");
   }
 
+  // manual copy ctor due to element_mapper_
+  LaplaceIpdgFluxReconstructionOperator(const ThisType& other)
+    : BaseType(other)
+    , assembly_grid_view_(other.assembly_grid_view_)
+    , source_space_(other.source_space_)
+    , range_space_(other.range_space_)
+    , symmetry_prefactor_(other.symmetry_prefactor_)
+    , inner_penalty_(other.inner_penalty_)
+    , dirichlet_penalty_(other.dirichlet_penalty_)
+    , diffusion_(other.diffusion_)
+    , weight_function_(other.weight_function_)
+    , intersection_diameter_(other.intersection_diameter_)
+    , element_mapper_(assembly_grid_view_)
+  {}
+
+  LaplaceIpdgFluxReconstructionOperator(ThisType&&) = default;
+
   bool linear() const override final
   {
     return true;
@@ -313,7 +336,7 @@ private:
 
 template <class M, class AGV, class SGV, class RGV>
 LaplaceIpdgFluxReconstructionOperator<M, AGV, SGV, RGV> make_laplace_ipdg_flux_reconstruction_operator(
-    const AGV& assembly_grid_view,
+    AGV assembly_grid_view,
     const SpaceInterface<SGV>& source_space,
     const SpaceInterface<RGV, RGV::dimension>& range_space,
     const double& symmetry_prefactor,