diff --git a/applications/solvers/lagrangian/incompressibleUncoupledKinematicParcelFoam/createFields.H b/applications/solvers/lagrangian/incompressibleUncoupledKinematicParcelFoam/createFields.H
index d98e9369b8a87828a16dc020e59c12be469ba769..179ac149badfef1c97ec876a581d746f4195ce69 100644
--- a/applications/solvers/lagrangian/incompressibleUncoupledKinematicParcelFoam/createFields.H
+++ b/applications/solvers/lagrangian/incompressibleUncoupledKinematicParcelFoam/createFields.H
@@ -1,4 +1,4 @@
-    Info<< "Reading transportProperties\n" << endl;
+    Info<< "\nReading transportProperties\n" << endl;
 
     IOdictionary transportProperties
     (
@@ -31,7 +31,7 @@
         rhoInfValue
     );
 
-    Info<< "\nReading field U\n" << endl;
+    Info<< "Reading field U\n" << endl;
     volVectorField U
     (
         IOobject
@@ -127,7 +127,7 @@
 
     if (HdotGradHheader.headerOk())
     {
-        Info<< "\nReading field HdotGradH\n" << endl;
+        Info<< "Reading field HdotGradH" << endl;
 
         HdotGradHPtr_.reset
         (
diff --git a/src/lagrangian/intermediate/submodels/Kinematic/InjectionModel/InjectionModel/InjectionModel.C b/src/lagrangian/intermediate/submodels/Kinematic/InjectionModel/InjectionModel/InjectionModel.C
index 243b0ab371643a36e1a6ba00116a00aa7753f99f..9b44324461ba87abce6e45c553f9f52fab06b71d 100644
--- a/src/lagrangian/intermediate/submodels/Kinematic/InjectionModel/InjectionModel/InjectionModel.C
+++ b/src/lagrangian/intermediate/submodels/Kinematic/InjectionModel/InjectionModel/InjectionModel.C
@@ -129,10 +129,11 @@ void Foam::InjectionModel<CloudType>::prepareForNextTimeStep
 
 
 template<class CloudType>
-void Foam::InjectionModel<CloudType>::findCellAtPosition
+bool Foam::InjectionModel<CloudType>::findCellAtPosition
 (
     label& cellI,
-    vector& position
+    vector& position,
+    bool errorOnNotFound
 )
 {
     const volVectorField& cellCentres = owner_.mesh().C();
@@ -176,17 +177,26 @@ void Foam::InjectionModel<CloudType>::findCellAtPosition
 
     if (procI == -1)
     {
-        FatalErrorIn
-        (
-            "Foam::InjectionModel<CloudType>::findCellAtPosition"
-            "("
-                "label&, "
-                "vector&"
-            ")"
-        )<< "Cannot find parcel injection cell. "
-         << "Parcel position = " << p0 << nl
-         << abort(FatalError);
+        if (errorOnNotFound)
+        {
+            FatalErrorIn
+            (
+                "Foam::InjectionModel<CloudType>::findCellAtPosition"
+                "("
+                    "label&, "
+                    "vector&"
+                ")"
+            )   << "Cannot find parcel injection cell. "
+                << "Parcel position = " << p0 << nl
+                << abort(FatalError);
+        }
+        else
+        {
+            return false;
+        }
     }
+
+    return true;
 }
 
 
diff --git a/src/lagrangian/intermediate/submodels/Kinematic/InjectionModel/InjectionModel/InjectionModel.H b/src/lagrangian/intermediate/submodels/Kinematic/InjectionModel/InjectionModel/InjectionModel.H
index 4c5d96804887bb5602f2f1220a47fdef47654022..ad3d4b1daeddba1bd4be74d814b4f79022c9eeec 100644
--- a/src/lagrangian/intermediate/submodels/Kinematic/InjectionModel/InjectionModel/InjectionModel.H
+++ b/src/lagrangian/intermediate/submodels/Kinematic/InjectionModel/InjectionModel/InjectionModel.H
@@ -180,7 +180,12 @@ protected:
         //- Find the cell that contains the supplied position
         //  Will modify position slightly towards the owner cell centroid to
         //  ensure that it lies in a cell and not edge/face
-        virtual void findCellAtPosition(label& cellI, vector& position);
+        virtual bool findCellAtPosition
+        (
+            label& cellI,
+            vector& position,
+            bool errorOnNotFound = true
+        );
 
         //- Set number of particles to inject given parcel properties
         virtual scalar setNumberOfParticles
diff --git a/src/lagrangian/intermediate/submodels/Kinematic/InjectionModel/ManualInjection/ManualInjection.C b/src/lagrangian/intermediate/submodels/Kinematic/InjectionModel/ManualInjection/ManualInjection.C
index 9b9ec19084e474baca12f0d89176795014e18ab3..f64cdc22681c5282cb6547327e116b9781fc8dbf 100644
--- a/src/lagrangian/intermediate/submodels/Kinematic/InjectionModel/ManualInjection/ManualInjection.C
+++ b/src/lagrangian/intermediate/submodels/Kinematic/InjectionModel/ManualInjection/ManualInjection.C
@@ -25,6 +25,8 @@ License
 
 #include "ManualInjection.H"
 #include "mathematicalConstants.H"
+#include "PackedBoolList.H"
+#include "Switch.H"
 
 using namespace Foam::constant::mathematical;
 
@@ -100,6 +102,40 @@ Foam::ManualInjection<CloudType>::ManualInjection
         )
     )
 {
+    Switch checkAndIgnoreOutOfBounds
+    (
+        this->coeffDict().lookupOrDefault("checkAndIgnoreOutOfBounds", false)
+    );
+
+    label nRejected = 0;
+
+    if (checkAndIgnoreOutOfBounds)
+    {
+        // Dummy cell
+        label cellI = -1;
+
+        PackedBoolList keep(positions_.size(), true);
+
+        forAll(positions_, pI)
+        {
+            if (!this->findCellAtPosition(cellI, positions_[pI], false))
+            {
+                keep[pI] = false;
+
+                nRejected++;
+            }
+        }
+
+        if (nRejected > 0)
+        {
+            inplaceSubset(keep, positions_);
+            inplaceSubset(keep, diameters_);
+
+            Info<< "    " << nRejected
+                << " particles ignored, out of bounds." << endl;
+        }
+    }
+
     // Construct parcel diameters
     forAll(diameters_, i)
     {