diff --git a/Solver/dgDofContainer.cpp b/Solver/dgDofContainer.cpp
index 072f3d693e46a4bfac3bdab3a05c1d2cbbd1e1f5..78c2b4f38774df3cff586e066151480b69c554e7 100644
--- a/Solver/dgDofContainer.cpp
+++ b/Solver/dgDofContainer.cpp
@@ -251,6 +251,7 @@ void dgDofContainer::Mesh2Mesh_BuildL2Projection(linearSystemCSRGmm<double> &pro
 // evauate quad
 // add to matrix correct indices
 
+// For multigrid, the donor and receiver are inverted :S
   dgGroupCollection* dGroups = donor.getGroups();
   dgGroupCollection* rGroups = this->getGroups();
   std::vector<int> rGroupsStartIGlobal(rGroups->getNbElementGroups() + 1);
@@ -290,7 +291,7 @@ void dgDofContainer::Mesh2Mesh_BuildL2Projection(linearSystemCSRGmm<double> &pro
         rElem->xyz2uvw(X,U);
         dGroup.getFunctionSpace().f(iPtsMatrix(iPt,0),iPtsMatrix(iPt,1),iPtsMatrix(iPt,2),dShapeFun);
         rGroup.getFunctionSpace().f(U[0],U[1],U[2],rShapeFun);
-        const double detJ = dGroup.getDetJ (iElement, iPt);
+        const double detJ = dGroup.getDetJ (jElement, iPt);
         int iGlobal = rGroupsStartIGlobal[iGroup]+rGroup.getNbNodes()*iElement;
         for (int jNode=0;jNode<dGroup.getNbNodes();jNode++){
           for (int iNode=0;iNode<rGroup.getNbNodes();iNode++){