diff --git a/dumux/discretization/staggered/freeflow/fickslaw.hh b/dumux/discretization/staggered/freeflow/fickslaw.hh
index b7e604908775c62f7a73bd5c3bfc38df6ce48805..09148b6ce56adab3f744d7d1b1bd020eb25e915b 100644
--- a/dumux/discretization/staggered/freeflow/fickslaw.hh
+++ b/dumux/discretization/staggered/freeflow/fickslaw.hh
@@ -68,10 +68,8 @@ class FicksLawImplementation<TypeTag, DiscretizationMethod::staggered >
     static_assert(ModelTraits::numPhases() == 1, "Only one phase allowed supported!");
 
     enum {
-        pressureIdx = Indices::pressureIdx,
         conti0EqIdx = Indices::conti0EqIdx,
         mainCompIdx = Indices::mainCompIdx,
-        replaceCompEqIdx = Indices::replaceCompEqIdx,
     };
 
 public:
@@ -118,14 +116,8 @@ public:
             flux[compIdx] = avgDensity * tij * (insideMoleFraction - outsideMoleFraction);
         }
 
-        if(!(useMoles && replaceCompEqIdx == mainCompIdx))
-        {
-            const Scalar cumulativeFlux = std::accumulate(flux.begin(), flux.end(), 0.0);
-            flux[mainCompIdx] = - cumulativeFlux;
-        }
-
-        if(useMoles && replaceCompEqIdx <= numComponents)
-            flux[replaceCompEqIdx] = 0.0;
+        const Scalar cumulativeFlux = std::accumulate(flux.begin(), flux.end(), 0.0);
+        flux[mainCompIdx] = - cumulativeFlux;
 
         // Fick's law (for binary systems) states that the net flux of moles within the bulk phase has to be zero:
         // If a given amount of molecules A travel into one direction, the same amount of molecules B have to
@@ -136,13 +128,6 @@ public:
             //convert everything to a mass flux
             for(int compIdx = 0; compIdx < numComponents; ++compIdx)
                 flux[compIdx] *= FluidSystem::molarMass(compIdx);
-
-
-            if(replaceCompEqIdx < numComponents)
-            {
-                for(int compIdx = 0; compIdx < numComponents; ++compIdx)
-                    flux[replaceCompEqIdx] += (compIdx != replaceCompEqIdx) ? flux[compIdx] : 0.0;
-            }
         }
 
         return flux;
diff --git a/dumux/discretization/staggered/freeflow/maxwellstefanslaw.hh b/dumux/discretization/staggered/freeflow/maxwellstefanslaw.hh
index 4343932b244b40b2814bc164c7c230fe28b79b03..56c290c4e61ee4882410d44459d0147887965ceb 100644
--- a/dumux/discretization/staggered/freeflow/maxwellstefanslaw.hh
+++ b/dumux/discretization/staggered/freeflow/maxwellstefanslaw.hh
@@ -73,7 +73,6 @@ class MaxwellStefansLawImplementation<TypeTag, DiscretizationMethod::staggered >
     enum {
         pressureIdx = Indices::pressureIdx,
         conti0EqIdx = Indices::conti0EqIdx,
-        replaceCompEqIdx = Indices::replaceCompEqIdx,
     };
 
 public:
@@ -187,9 +186,6 @@ public:
             componentFlux[numComponents-1] -=reducedFlux[compIdx];
         }
 
-        if(useMoles && replaceCompEqIdx <= numComponents)
-            componentFlux[replaceCompEqIdx] = 0.0;
-
         return componentFlux ;
     }
 
diff --git a/dumux/freeflow/compositional/staggered/fluxvariables.hh b/dumux/freeflow/compositional/staggered/fluxvariables.hh
index a39d4890b3870c67e576bd1a5e6a1da0a445f874..e657af823ff8a22388f50faea79153b4030149c4 100644
--- a/dumux/freeflow/compositional/staggered/fluxvariables.hh
+++ b/dumux/freeflow/compositional/staggered/fluxvariables.hh
@@ -97,16 +97,17 @@ public:
                 return density * fraction;
             };
 
-            flux[eqIdx - Indices::conti0EqIdx] = ParentType::advectiveFluxForCellCenter(elemVolVars, elemFaceVars, scvf, upwindTerm, isOutflow);
+            flux[compIdx] = ParentType::advectiveFluxForCellCenter(elemVolVars, elemFaceVars, scvf, upwindTerm, isOutflow);
         }
 
+        flux += MolecularDiffusionType::flux(problem, fvGeometry, elemVolVars, scvf);
+
         // in case one balance is substituted by the total mass balance
         if (Indices::replaceCompEqIdx < numComponents)
         {
             flux[Indices::replaceCompEqIdx] = std::accumulate(flux.begin(), flux.end(), 0.0);
         }
 
-        flux += MolecularDiffusionType::flux(problem, fvGeometry, elemVolVars, scvf);
         return flux;
     }
 };