diff --git a/src/lagrangian/intermediate/submodels/Kinematic/InjectionModel/InjectionModel/InjectionModel.C b/src/lagrangian/intermediate/submodels/Kinematic/InjectionModel/InjectionModel/InjectionModel.C
index 65d0ac295f741f115e340923cc45402acef9b6ae..e6729e18bb274cc1e6f4fa8dc3311b80c92f0d5f 100644
--- a/src/lagrangian/intermediate/submodels/Kinematic/InjectionModel/InjectionModel/InjectionModel.C
+++ b/src/lagrangian/intermediate/submodels/Kinematic/InjectionModel/InjectionModel/InjectionModel.C
@@ -127,10 +127,10 @@ template<class CloudType>
 Foam::scalar Foam::InjectionModel<CloudType>::setNumberOfParticles
 (
     const label parcels,
-    const scalar diameter,
+    const scalar volume
     const scalar volumeFraction,
+    const scalar diameter,
     const scalar rho,
-    const scalar volume
 )
 {
     scalar nP = 0.0;
@@ -294,30 +294,38 @@ void Foam::InjectionModel<CloudType>::inject(TrackData& td)
         vector pos = vector::zero;
         setPositionAndCell(iParcel, timeInj, owner_.meshInfo(), pos, cellI);
 
-        // Diameter of parcels
-        scalar d = d0(iParcel, timeInj);
+        if (cellI >= 0)
+        {
+            // Diameter of parcels
+            scalar d = d0(iParcel, timeInj);
 
-        // Number of particles per parcel
-        scalar nP = setNumberOfParticles
-        (
-            newParcels,
-            d,
-            volFraction,
-            rho,
-            newVolume
-        );
+            // Number of particles per parcel
+            scalar nP = setNumberOfParticles
+            (
+                newParcels,
+                newVolume,
+                volFraction,
+                d,
+                rho
+            );
 
-        // Velocity of parcels
-        vector U = velocity(iParcel, timeInj, owner_.meshInfo());
+            // Velocity of parcels
+            vector U = velocity(iParcel, timeInj, owner_.meshInfo());
 
-        if (cellI >= 0)
-        {
+            // Lagrangian timestep
             scalar dt = time - timeInj;
-            td.cloud().addNewParcel(pos, cellI, d, U, nP, dt);
 
+            // Add the new parcel
+            td.cloud().addNewParcel(pos, cellI, d, U, nP, dt);
             massInjected_ += nP*rho*mathematicalConstant::pi*pow3(d)/6.0;
             parcelsAdded_++;
         }
+        else
+        {
+            WarningIn("Foam::InjectionModel<CloudType>::inject(TrackData& td)")
+                << "Failed to inject new parcel:" <<
+                << "    id = " << iParcel << ", position = " pos << nl << endl;
+        }
     }
 
     postInjectCheck();
diff --git a/src/lagrangian/intermediate/submodels/Kinematic/InjectionModel/InjectionModel/InjectionModel.H b/src/lagrangian/intermediate/submodels/Kinematic/InjectionModel/InjectionModel/InjectionModel.H
index aad8f1a6c660cebf42d7839733b0cc45876e99e6..0c6b9f69a7e4998112a5ed6926a98a896147c571 100644
--- a/src/lagrangian/intermediate/submodels/Kinematic/InjectionModel/InjectionModel/InjectionModel.H
+++ b/src/lagrangian/intermediate/submodels/Kinematic/InjectionModel/InjectionModel/InjectionModel.H
@@ -170,10 +170,10 @@ protected:
         scalar setNumberOfParticles
         (
             const label parcels,
-            const scalar diameter,
+            const scalar volume,
             const scalar volumeFraction,
-            const scalar rho,
-            const scalar volume
+            const scalar diameter,
+            const scalar rho
         );
 
         //- Post injection checks