diff --git a/dumux/material/fluidsystems/brineco2.hh b/dumux/material/fluidsystems/brineco2.hh
index 423d8cab7790e2a64f66440f01e5af411b258f7b..b0c4798bb7ee1016b156997a7dcccb7def8c9611 100644
--- a/dumux/material/fluidsystems/brineco2.hh
+++ b/dumux/material/fluidsystems/brineco2.hh
@@ -450,7 +450,8 @@ public:
         else if (phaseIdx == liquidPhaseIdx)
         {
             Scalar T = fluidState.temperature(phaseIdx);
-            Scalar p = fluidState.pressure(phaseIdx);
+            Scalar pl = fluidState.pressure(liquidPhaseIdx);
+            Scalar pg = fluidState.pressure(gasPhaseIdx);
             assert(temperature > 0);
             assert(pressure > 0);
 
@@ -459,7 +460,7 @@ public:
             Scalar xlCO2, xgCO2;
             const Scalar salinity = useConstantSalinity ? ConstantSalinityBrine::constantSalinity
                                                         : fluidState.massFraction(liquidPhaseIdx, NaClIdx);
-            Brine_CO2::calculateMoleFractions(T, p, salinity, /*knownGasPhaseIdx=*/-1, xlCO2, xgH2O);
+            Brine_CO2::calculateMoleFractions(T, pl, salinity, /*knownGasPhaseIdx=*/-1, xlCO2, xgH2O);
 
             // normalize the phase compositions
             using std::min;
@@ -470,10 +471,10 @@ public:
             xgCO2 = 1.0 - xgH2O;
 
             if (compIdx == BrineOrH2OIdx)
-                return /*phigH2O=*/1.0*xgH2O/xlH2O;
+                return (xgH2O/xlH2O)*(pg/pl);
 
             else if (compIdx == CO2Idx)
-                return /*phigCO2=*/1.0*xgCO2/xlCO2;
+                return (xgCO2/xlCO2)*(pg/pl);
 
             // NaCl is assumed to stay in the liquid!
             else if (!useConstantSalinity && compIdx == NaClIdx)