diff --git a/src/lagrangian/intermediate/submodels/Kinematic/InjectionModel/ConeInjection/ConeInjection.C b/src/lagrangian/intermediate/submodels/Kinematic/InjectionModel/ConeInjection/ConeInjection.C
index 9eb74d585f8ed24e156453528ae850e06d3a49b3..3ff17ef6006c259e730d082c06d2670948bbb671 100644
--- a/src/lagrangian/intermediate/submodels/Kinematic/InjectionModel/ConeInjection/ConeInjection.C
+++ b/src/lagrangian/intermediate/submodels/Kinematic/InjectionModel/ConeInjection/ConeInjection.C
@@ -174,6 +174,7 @@ Foam::scalar Foam::ConeInjection<CloudType>::timeEnd() const
 template<class CloudType>
 void Foam::ConeInjection<CloudType>::setPositionAndCell
 (
+    const label,
     const label,
     const scalar,
     vector& position,
@@ -189,6 +190,7 @@ template<class CloudType>
 void Foam::ConeInjection<CloudType>::setProperties
 (
     const label parcelI,
+    const label,
     const scalar time,
     typename CloudType::parcelType* pPtr
 )
diff --git a/src/lagrangian/intermediate/submodels/Kinematic/InjectionModel/ConeInjection/ConeInjection.H b/src/lagrangian/intermediate/submodels/Kinematic/InjectionModel/ConeInjection/ConeInjection.H
index b60c1377aeefc96214b9bb55a3ae25214205de61..e3cd2fccbbcd17517b4cc5ffe92f5f4eb9da5952 100644
--- a/src/lagrangian/intermediate/submodels/Kinematic/InjectionModel/ConeInjection/ConeInjection.H
+++ b/src/lagrangian/intermediate/submodels/Kinematic/InjectionModel/ConeInjection/ConeInjection.H
@@ -158,6 +158,7 @@ public:
             virtual void setPositionAndCell
             (
                 const label parcelI,
+                const label nParcels,
                 const scalar time,
                 vector& position,
                 label& cellOwner
@@ -166,6 +167,7 @@ public:
             virtual void setProperties
             (
                 const label parcelI,
+                const label nParcels,
                 const scalar time,
                 typename CloudType::parcelType* pPtr
             );
diff --git a/src/lagrangian/intermediate/submodels/Kinematic/InjectionModel/FieldActivatedInjection/FieldActivatedInjection.C b/src/lagrangian/intermediate/submodels/Kinematic/InjectionModel/FieldActivatedInjection/FieldActivatedInjection.C
index b33403514384aeff6eba3e894007598a77e68e60..cf9d78bab6c72bff58712d9bba492070526c946c 100644
--- a/src/lagrangian/intermediate/submodels/Kinematic/InjectionModel/FieldActivatedInjection/FieldActivatedInjection.C
+++ b/src/lagrangian/intermediate/submodels/Kinematic/InjectionModel/FieldActivatedInjection/FieldActivatedInjection.C
@@ -170,6 +170,7 @@ template<class CloudType>
 void Foam::FieldActivatedInjection<CloudType>::setPositionAndCell
 (
     const label parcelI,
+    const label,
     const scalar,
     vector& position,
     label& cellOwner
@@ -184,6 +185,7 @@ template<class CloudType>
 void Foam::FieldActivatedInjection<CloudType>::setProperties
 (
     const label parcelI,
+    const label,
     const scalar,
     typename CloudType::parcelType* pPtr
 )
@@ -206,8 +208,8 @@ bool Foam::FieldActivatedInjection<CloudType>::validInjection
 
     if
     (
-         nParcelsInjected_[parcelI] < nParcelsPerInjector_
-      && factor_*referenceField_[cellI] > thresholdField_[cellI]
+        nParcelsInjected_[parcelI] < nParcelsPerInjector_
+     && factor_*referenceField_[cellI] > thresholdField_[cellI]
     )
     {
         nParcelsInjected_[parcelI]++;
diff --git a/src/lagrangian/intermediate/submodels/Kinematic/InjectionModel/FieldActivatedInjection/FieldActivatedInjection.H b/src/lagrangian/intermediate/submodels/Kinematic/InjectionModel/FieldActivatedInjection/FieldActivatedInjection.H
index 88d9c8302f6fc6e5a3ffe39654e4d10dbde58f36..697eb68f339f7545ec1762b7e9905b3ed69d8271 100644
--- a/src/lagrangian/intermediate/submodels/Kinematic/InjectionModel/FieldActivatedInjection/FieldActivatedInjection.H
+++ b/src/lagrangian/intermediate/submodels/Kinematic/InjectionModel/FieldActivatedInjection/FieldActivatedInjection.H
@@ -163,6 +163,7 @@ public:
             virtual void setPositionAndCell
             (
                 const label parcelI,
+                const label nParcels,
                 const scalar time,
                 vector& position,
                 label& cellOwner
@@ -171,6 +172,7 @@ public:
             virtual void setProperties
             (
                 const label parcelI,
+                const label nParcels,
                 const scalar time,
                 typename CloudType::parcelType* pPtr
             );
diff --git a/src/lagrangian/intermediate/submodels/Kinematic/InjectionModel/InjectionModel/InjectionModel.C b/src/lagrangian/intermediate/submodels/Kinematic/InjectionModel/InjectionModel/InjectionModel.C
index d73859de1505f7c2175e8e8835e3d413e5a79554..5ae815f49051480bb7b9c025c4d67703d2fafbde 100644
--- a/src/lagrangian/intermediate/submodels/Kinematic/InjectionModel/InjectionModel/InjectionModel.C
+++ b/src/lagrangian/intermediate/submodels/Kinematic/InjectionModel/InjectionModel/InjectionModel.C
@@ -375,7 +375,8 @@ void Foam::InjectionModel<CloudType>::inject(TrackData& td)
     const scalar volFraction = volumeFraction(newVolume);
 
     // Duration of injection period during this timestep
-    const scalar deltaT = min(carrierDt, min(time - SOI_, timeEnd() - time0_));
+    const scalar deltaT =
+        max(0.0, min(carrierDt, min(time - SOI_, timeEnd() - time0_)));
 
     // Pad injection time if injection starts during this timestep
     const scalar padTime = max(0.0, SOI_ - time0_);
@@ -392,7 +393,7 @@ void Foam::InjectionModel<CloudType>::inject(TrackData& td)
             // Determine the injection position and owner cell
             label cellI = -1;
             vector pos = vector::zero;
-            setPositionAndCell(parcelI, timeInj, pos, cellI);
+            setPositionAndCell(parcelI, newParcels, timeInj, pos, cellI);
 
             if (cellI > -1)
             {
@@ -406,7 +407,7 @@ void Foam::InjectionModel<CloudType>::inject(TrackData& td)
                 parcelType* pPtr = new parcelType(td.cloud(), pos, cellI);
 
                 // Assign new parcel properties in injection model
-                setProperties(parcelI, timeInj, pPtr);
+                setProperties(parcelI, newParcels, timeInj, pPtr);
 
                 // Check new parcel properties
                 td.cloud().checkParcelProperties(pPtr, dt, fullyDescribed());
diff --git a/src/lagrangian/intermediate/submodels/Kinematic/InjectionModel/InjectionModel/InjectionModel.H b/src/lagrangian/intermediate/submodels/Kinematic/InjectionModel/InjectionModel/InjectionModel.H
index 6e612194e3ad4d6edad281c6b6d5d5110e8ccbf5..4b4c07a9f72340716c50fecbea386796f515eed5 100644
--- a/src/lagrangian/intermediate/submodels/Kinematic/InjectionModel/InjectionModel/InjectionModel.H
+++ b/src/lagrangian/intermediate/submodels/Kinematic/InjectionModel/InjectionModel/InjectionModel.H
@@ -288,6 +288,7 @@ public:
             virtual void setPositionAndCell
             (
                 const label parcelI,
+                const label nParcels,
                 const scalar time,
                 vector& position,
                 label& cellOwner
@@ -296,6 +297,7 @@ public:
             virtual void setProperties
             (
                 const label parcelI,
+                const label nParcels,
                 const scalar time,
                 typename CloudType::parcelType* pPtr
             ) = 0;
diff --git a/src/lagrangian/intermediate/submodels/Kinematic/InjectionModel/ManualInjection/ManualInjection.C b/src/lagrangian/intermediate/submodels/Kinematic/InjectionModel/ManualInjection/ManualInjection.C
index f7da4915a2491f2d98c4a0106201bcbeb10762c8..7e7cdcbc1226c21daadad6dddd68e90879b5291d 100644
--- a/src/lagrangian/intermediate/submodels/Kinematic/InjectionModel/ManualInjection/ManualInjection.C
+++ b/src/lagrangian/intermediate/submodels/Kinematic/InjectionModel/ManualInjection/ManualInjection.C
@@ -138,6 +138,7 @@ template<class CloudType>
 void Foam::ManualInjection<CloudType>::setPositionAndCell
 (
     const label parcelI,
+    const label,
     const scalar time,
     vector& position,
     label& cellOwner
@@ -152,6 +153,7 @@ template<class CloudType>
 void Foam::ManualInjection<CloudType>::setProperties
 (
     const label parcelI,
+    const label,
     const scalar,
     typename CloudType::parcelType* pPtr
 )
diff --git a/src/lagrangian/intermediate/submodels/Kinematic/InjectionModel/ManualInjection/ManualInjection.H b/src/lagrangian/intermediate/submodels/Kinematic/InjectionModel/ManualInjection/ManualInjection.H
index 327ec83ce2380c93b8c9100426ec9590dcfb43ea..ef92f03289c8b2f1b937906ccb6c69618695d632 100644
--- a/src/lagrangian/intermediate/submodels/Kinematic/InjectionModel/ManualInjection/ManualInjection.H
+++ b/src/lagrangian/intermediate/submodels/Kinematic/InjectionModel/ManualInjection/ManualInjection.H
@@ -40,8 +40,8 @@ SourceFiles
 
 \*---------------------------------------------------------------------------*/
 
-#ifndef manualInjection_H
-#define manualInjection_H
+#ifndef ManualInjection_H
+#define ManualInjection_H
 
 #include "InjectionModel.H"
 #include "pdf.H"
@@ -135,6 +135,7 @@ public:
             virtual void setPositionAndCell
             (
                 const label parcelI,
+                const label nParcels,
                 const scalar time,
                 vector& position,
                 label& cellOwner
@@ -143,6 +144,7 @@ public:
             virtual void setProperties
             (
                 const label parcelI,
+                const label nParcels,
                 const scalar time,
                 typename CloudType::parcelType* pPtr
             );
diff --git a/src/lagrangian/intermediate/submodels/Kinematic/InjectionModel/NoInjection/NoInjection.C b/src/lagrangian/intermediate/submodels/Kinematic/InjectionModel/NoInjection/NoInjection.C
index d2936b3cbec49d0f5d0a2199bc240c29dc9255e5..6ad0c039ce05c36886dcb570b6a9d305ed3cfec4 100644
--- a/src/lagrangian/intermediate/submodels/Kinematic/InjectionModel/NoInjection/NoInjection.C
+++ b/src/lagrangian/intermediate/submodels/Kinematic/InjectionModel/NoInjection/NoInjection.C
@@ -90,6 +90,7 @@ Foam::scalar Foam::NoInjection<CloudType>::timeEnd() const
 template<class CloudType>
 void Foam::NoInjection<CloudType>::setPositionAndCell
 (
+    const label,
     const label,
     const scalar,
     vector&,
@@ -101,7 +102,8 @@ void Foam::NoInjection<CloudType>::setPositionAndCell
 template<class CloudType>
 void Foam::NoInjection<CloudType>::setProperties
 (
-    const label parcelI,
+    const label,
+    const label,
     const scalar,
     typename CloudType::parcelType* pPtr
 )
diff --git a/src/lagrangian/intermediate/submodels/Kinematic/InjectionModel/NoInjection/NoInjection.H b/src/lagrangian/intermediate/submodels/Kinematic/InjectionModel/NoInjection/NoInjection.H
index fef47e00b336ce9fbf38895636f1a923d53fcd71..abb04ef5383e2c1538a9a7eaddf3503170899230 100644
--- a/src/lagrangian/intermediate/submodels/Kinematic/InjectionModel/NoInjection/NoInjection.H
+++ b/src/lagrangian/intermediate/submodels/Kinematic/InjectionModel/NoInjection/NoInjection.H
@@ -33,8 +33,8 @@ SourceFiles
 
 \*---------------------------------------------------------------------------*/
 
-#ifndef noInjection_H
-#define noInjection_H
+#ifndef NoInjection_H
+#define NoInjection_H
 
 #include "InjectionModel.H"
 
@@ -106,6 +106,7 @@ public:
             virtual void setPositionAndCell
             (
                 const label parcelI,
+                const label nParcels,
                 const scalar time,
                 vector& position,
                 label& cellOwner
@@ -114,6 +115,7 @@ public:
             virtual void setProperties
             (
                 const label parcelI,
+                const label nParcels,
                 const scalar time,
                 typename CloudType::parcelType* pPtr
             );