diff --git a/src/regionModels/surfaceFilmModels/submodels/kinematic/injectionModel/curvatureSeparation/curvatureSeparation.C b/src/regionModels/surfaceFilmModels/submodels/kinematic/injectionModel/curvatureSeparation/curvatureSeparation.C
index 8dcc59d9850b6c67ee7d978567103ef755497492..47f84119005744f43030d1ff5d7723da92c85b6b 100644
--- a/src/regionModels/surfaceFilmModels/submodels/kinematic/injectionModel/curvatureSeparation/curvatureSeparation.C
+++ b/src/regionModels/surfaceFilmModels/submodels/kinematic/injectionModel/curvatureSeparation/curvatureSeparation.C
@@ -339,6 +339,8 @@ void curvatureSeparation::correct
     diameterToInject = separated*delta;
     availableMass -= separated*availableMass;
 
+    addToInjectedMass(sum(separated*availableMass));
+
     if (debug && mesh.time().outputTime())
     {
         volScalarField volFnet
@@ -358,6 +360,8 @@ void curvatureSeparation::correct
         volFnet.correctBoundaryConditions();
         volFnet.write();
     }
+
+    injectionModel::correct();
 }
 
 
diff --git a/src/regionModels/surfaceFilmModels/submodels/kinematic/injectionModel/drippingInjection/drippingInjection.C b/src/regionModels/surfaceFilmModels/submodels/kinematic/injectionModel/drippingInjection/drippingInjection.C
index d970b1a34741802c8feeccb75b1bc7895346699b..905477378cad342c7c6faec04bf2ac9be0a784dc 100644
--- a/src/regionModels/surfaceFilmModels/submodels/kinematic/injectionModel/drippingInjection/drippingInjection.C
+++ b/src/regionModels/surfaceFilmModels/submodels/kinematic/injectionModel/drippingInjection/drippingInjection.C
@@ -137,6 +137,8 @@ void drippingInjection::correct
 
                 // Retrieve new particle diameter sample
                 diam = parcelDistribution_->sample();
+
+                addToInjectedMass(massDrip[cellI]);
             }
             else
             {
@@ -151,6 +153,8 @@ void drippingInjection::correct
             diameterToInject[cellI] = 0.0;
         }
     }
+
+    injectionModel::correct();
 }
 
 
diff --git a/src/regionModels/surfaceFilmModels/submodels/kinematic/injectionModel/injectionModel/injectionModel.C b/src/regionModels/surfaceFilmModels/submodels/kinematic/injectionModel/injectionModel/injectionModel.C
index 54fe38147e763e812de787958e6ca10170e7b185..ceac59285e052da058f11f33450192614d271f11 100644
--- a/src/regionModels/surfaceFilmModels/submodels/kinematic/injectionModel/injectionModel/injectionModel.C
+++ b/src/regionModels/surfaceFilmModels/submodels/kinematic/injectionModel/injectionModel/injectionModel.C
@@ -39,11 +39,20 @@ namespace surfaceFilmModels
 defineTypeNameAndDebug(injectionModel, 0);
 defineRunTimeSelectionTable(injectionModel, dictionary);
 
+// * * * * * * * * * * * * Protected Member Functions  * * * * * * * * * * * //
+
+void injectionModel::addToInjectedMass(const scalar dMass)
+{
+    injectedMass_ += dMass;
+}
+
+
 // * * * * * * * * * * * * * * * * Constructors  * * * * * * * * * * * * * * //
 
 injectionModel::injectionModel(surfaceFilmModel& owner)
 :
-    filmSubModelBase(owner)
+    filmSubModelBase(owner),
+    injectedMass_(0.0)
 {}
 
 
@@ -54,7 +63,8 @@ injectionModel::injectionModel
     const dictionary& dict
 )
 :
-    filmSubModelBase(owner, dict, typeName, modelType)
+    filmSubModelBase(owner, dict, typeName, modelType),
+    injectedMass_(0.0)
 {}
 
 
@@ -64,6 +74,27 @@ injectionModel::~injectionModel()
 {}
 
 
+// * * * * * * * * * * * * * * Member Functions  * * * * * * * * * * * * * * //
+
+void injectionModel::correct()
+{
+    if (outputTime())
+    {
+        scalar injectedMass0 = getModelProperty<scalar>("injectedMass");
+        injectedMass0 += returnReduce(injectedMass_, sumOp<scalar>());
+        setModelProperty<scalar>("injectedMass", injectedMass0);
+        injectedMass_ = 0.0;
+    }
+}
+
+
+scalar injectionModel::injectedMassTotal() const
+{
+    scalar injectedMass0 = getModelProperty<scalar>("injectedMass");
+    return injectedMass0 + returnReduce(injectedMass_, sumOp<scalar>());
+}
+
+
 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
 
 } // End namespace surfaceFilmModels
diff --git a/src/regionModels/surfaceFilmModels/submodels/kinematic/injectionModel/injectionModel/injectionModel.H b/src/regionModels/surfaceFilmModels/submodels/kinematic/injectionModel/injectionModel/injectionModel.H
index ea47866b0bc0731dbe7c5c39d93609b22ef611e8..bd7850894d5f5ee2d26f53cc8d174b3ec9c78850 100644
--- a/src/regionModels/surfaceFilmModels/submodels/kinematic/injectionModel/injectionModel/injectionModel.H
+++ b/src/regionModels/surfaceFilmModels/submodels/kinematic/injectionModel/injectionModel/injectionModel.H
@@ -59,6 +59,12 @@ class injectionModel
 {
 private:
 
+    // Private data
+
+        //- Injected mass
+        scalar injectedMass_;
+
+
     // Private Member Functions
 
         //- Disallow default bitwise copy construct
@@ -68,6 +74,17 @@ private:
         void operator=(const injectionModel&);
 
 
+protected:
+
+    // Protected Member Functions
+
+        //- Add to injected mass
+        void addToInjectedMass(const scalar dMass);
+
+        //- Correct
+        void correct();
+
+
 public:
 
     //- Runtime type information
@@ -128,6 +145,9 @@ public:
                 scalarField& massToInject,
                 scalarField& diameterToInject
             ) = 0;
+
+            //- Return the total mass injected
+            scalar injectedMassTotal() const;
 };
 
 
diff --git a/src/regionModels/surfaceFilmModels/submodels/kinematic/injectionModel/injectionModelList/injectionModelList.C b/src/regionModels/surfaceFilmModels/submodels/kinematic/injectionModel/injectionModelList/injectionModelList.C
index cd72677ae6bb4e32022e0d74b8b294b112ad09a7..667fe2d8100dd36ba6056f1845e3aa751c682ed0 100644
--- a/src/regionModels/surfaceFilmModels/submodels/kinematic/injectionModel/injectionModelList/injectionModelList.C
+++ b/src/regionModels/surfaceFilmModels/submodels/kinematic/injectionModel/injectionModelList/injectionModelList.C
@@ -40,8 +40,7 @@ injectionModelList::injectionModelList(surfaceFilmModel& owner)
 :
     PtrList<injectionModel>(),
     owner_(owner),
-    dict_(dictionary::null),
-    injectedMassTotal_(0.0)
+    dict_(dictionary::null)
 {}
 
 
@@ -53,8 +52,7 @@ injectionModelList::injectionModelList
 :
     PtrList<injectionModel>(),
     owner_(owner),
-    dict_(dict),
-    injectedMassTotal_(0.0)
+    dict_(dict)
 {
     const wordList activeModels(dict.lookup("injectionModels"));
 
@@ -109,9 +107,6 @@ void injectionModelList::correct
         im.correct(availableMass, massToInject, diameterToInject);
     }
 
-    injectedMassTotal_ += sum(massToInject.internalField());
-
-
     // Push values to boundaries ready for transfer to the primary region
     massToInject.correctBoundaryConditions();
     diameterToInject.correctBoundaryConditions();
@@ -120,8 +115,14 @@ void injectionModelList::correct
 
 void injectionModelList::info(Ostream& os) const
 {
-    os  << indent << "injected mass      = "
-        << returnReduce<scalar>(injectedMassTotal_, sumOp<scalar>()) << nl;
+    scalar injectedMass = 0.0;
+    forAll(*this, i)
+    {
+        const injectionModel& im = operator[](i);
+        injectedMass += im.injectedMassTotal();
+    }
+
+    os  << indent << "injected mass      = " << injectedMass << nl;
 }
 
 
diff --git a/src/regionModels/surfaceFilmModels/submodels/kinematic/injectionModel/injectionModelList/injectionModelList.H b/src/regionModels/surfaceFilmModels/submodels/kinematic/injectionModel/injectionModelList/injectionModelList.H
index be62ba45b8b0f7c8cff5acdbb98f73170010dec0..c58f85a65328a5c52c613e600929ba8d0f607381 100644
--- a/src/regionModels/surfaceFilmModels/submodels/kinematic/injectionModel/injectionModelList/injectionModelList.H
+++ b/src/regionModels/surfaceFilmModels/submodels/kinematic/injectionModel/injectionModelList/injectionModelList.H
@@ -65,9 +65,6 @@ private:
         //- Dictionary
         dictionary dict_;
 
-        //- Cumulative mass injected total
-        scalar injectedMassTotal_;
-
 
     // Private Member Functions
 
diff --git a/src/regionModels/surfaceFilmModels/submodels/kinematic/injectionModel/removeInjection/removeInjection.C b/src/regionModels/surfaceFilmModels/submodels/kinematic/injectionModel/removeInjection/removeInjection.C
index 500962636aaf0d6f7e07f7b7f3fbe8914226827f..fe6b5730b34e29548cc4f67afef6e7f36099aeb5 100644
--- a/src/regionModels/surfaceFilmModels/submodels/kinematic/injectionModel/removeInjection/removeInjection.C
+++ b/src/regionModels/surfaceFilmModels/submodels/kinematic/injectionModel/removeInjection/removeInjection.C
@@ -103,8 +103,12 @@ void removeInjection::correct
             scalar dMass = ddelta*rho[cellI]*magSf[cellI];
             massToInject[cellI] += dMass;
             availableMass[cellI] -= dMass;
+
+            addToInjectedMass(dMass);
         }
     }
+
+    injectionModel::correct();
 }
 
 
diff --git a/src/regionModels/surfaceFilmModels/submodels/thermo/phaseChangeModel/phaseChangeModel/phaseChangeModel.C b/src/regionModels/surfaceFilmModels/submodels/thermo/phaseChangeModel/phaseChangeModel/phaseChangeModel.C
index da6c0236345dfadb2c3fc6b85321efe114f9494d..ffc66761be3d6bdb8d0bd17815cf1ce778f5b66e 100644
--- a/src/regionModels/surfaceFilmModels/submodels/thermo/phaseChangeModel/phaseChangeModel/phaseChangeModel.C
+++ b/src/regionModels/surfaceFilmModels/submodels/thermo/phaseChangeModel/phaseChangeModel/phaseChangeModel.C
@@ -94,6 +94,14 @@ void phaseChangeModel::correct
 
     availableMass -= dMass;
     dMass.correctBoundaryConditions();
+
+    if (outputTime())
+    {
+        scalar phaseChangeMass = getModelProperty<scalar>("phaseChangeMass");
+        phaseChangeMass += returnReduce(totalMassPC_, sumOp<scalar>());
+        setModelProperty<scalar>("phaseChangeMass", phaseChangeMass);
+        totalMassPC_ = 0.0;
+    }
 }
 
 
@@ -103,8 +111,10 @@ void phaseChangeModel::info(Ostream& os) const
         returnReduce(latestMassPC_, sumOp<scalar>())
        /owner_.time().deltaTValue();
 
-    os  << indent << "mass phase change  = "
-        << returnReduce(totalMassPC_, sumOp<scalar>()) << nl
+    scalar phaseChangeMass = getModelProperty<scalar>("phaseChangeMass");
+    phaseChangeMass += returnReduce(totalMassPC_, sumOp<scalar>());
+
+    os  << indent << "mass phase change  = " << phaseChangeMass << nl
         << indent << "vapourisation rate = " << massPCRate << nl;
 }