diff --git a/src/lagrangian/intermediate/submodels/Kinematic/SurfaceFilmModel/SurfaceFilmModel/SurfaceFilmModel.C b/src/lagrangian/intermediate/submodels/Kinematic/SurfaceFilmModel/SurfaceFilmModel/SurfaceFilmModel.C
index 07ec7cc21e6307d49e08cc453d4bbbb2257d9572..cb0bc500a3d99f056a4e046182b4d64073bb9d47 100644
--- a/src/lagrangian/intermediate/submodels/Kinematic/SurfaceFilmModel/SurfaceFilmModel/SurfaceFilmModel.C
+++ b/src/lagrangian/intermediate/submodels/Kinematic/SurfaceFilmModel/SurfaceFilmModel/SurfaceFilmModel.C
@@ -148,7 +148,8 @@ void Foam::SurfaceFilmModel<CloudType>::inject(TrackData& td)
     const labelList& filmPatches = filmModel.intCoupledPatchIDs();
     const labelList& primaryPatches = filmModel.primaryPatchIDs();
 
-    const polyBoundaryMesh& pbm = this->owner().mesh().boundaryMesh();
+    const fvMesh& mesh = this->owner().mesh();
+    const polyBoundaryMesh& pbm = mesh.boundaryMesh();
 
     forAll(filmPatches, i)
     {
@@ -163,6 +164,10 @@ void Foam::SurfaceFilmModel<CloudType>::inject(TrackData& td)
 
         cacheFilmFields(filmPatchI, primaryPatchI, distMap, filmModel);
 
+        const vectorField& Cf = mesh.C().boundaryField()[primaryPatchI];
+        const vectorField& Sf = mesh.Sf().boundaryField()[primaryPatchI];
+        const scalarField& magSf = mesh.magSf().boundaryField()[primaryPatchI];
+
         forAll(injectorCellsPatch, j)
         {
             if (diameterParcelPatch_[j] > 0)
@@ -179,7 +184,15 @@ void Foam::SurfaceFilmModel<CloudType>::inject(TrackData& td)
                 const label tetFaceI = this->owner().mesh().cells()[cellI][0];
                 const label tetPtI = 1;
 
-                const point& pos = this->owner().mesh().C()[cellI];
+//                const point& pos = this->owner().mesh().C()[cellI];
+
+                const scalar offset =
+                    max
+                    (
+                        diameterParcelPatch_[j],
+                        deltaFilmPatch_[primaryPatchI][j]
+                    );
+                const point pos = Cf[j] - 1.1*offset*Sf[j]/magSf[j];
 
                 // Create a new parcel
                 parcelType* pPtr =
@@ -217,11 +230,11 @@ void Foam::SurfaceFilmModel<CloudType>::cacheFilmFields
     const regionModels::surfaceFilmModels::surfaceFilmModel& filmModel
 )
 {
-    massParcelPatch_ = filmModel.massForPrimary().boundaryField()[filmPatchI];
+    massParcelPatch_ = filmModel.cloudMassTrans().boundaryField()[filmPatchI];
     distMap.distribute(massParcelPatch_);
 
     diameterParcelPatch_ =
-        filmModel.diametersForPrimary().boundaryField()[filmPatchI];
+        filmModel.cloudDiameterTrans().boundaryField()[filmPatchI];
     distMap.distribute(diameterParcelPatch_);
 
     UFilmPatch_ = filmModel.Us().boundaryField()[filmPatchI];