diff --git src/lagrangian/intermediate/submodels/CloudFunctionObjects/ParticleCollector/ParticleCollector.C src/lagrangian/intermediate/submodels/CloudFunctionObjects/ParticleCollector/ParticleCollector.C
index 3f278e8..a0880e7 100644
--- src/lagrangian/intermediate/submodels/CloudFunctionObjects/ParticleCollector/ParticleCollector.C
+++ src/lagrangian/intermediate/submodels/CloudFunctionObjects/ParticleCollector/ParticleCollector.C
@@ -543,7 +543,8 @@ Foam::ParticleCollector<CloudType>::ParticleCollector
     log_(this->coeffDict().lookup("log")),
     outputFilePtr_(),
     timeOld_(owner.mesh().time().value()),
-    hitFaceIDs_()
+    hitFaceIDs_(),
+    collectedParticles_()
 {
     normal_ /= mag(normal_);
 
@@ -594,6 +595,7 @@ Foam::ParticleCollector<CloudType>::ParticleCollector
     mass_.setSize(faces_.size(), 0.0);
     massTotal_.setSize(faces_.size(), 0.0);
     massFlowRate_.setSize(faces_.size(), 0.0);
+    collectedParticles_.setSize(faces_.size());
 
     makeLogFile(faces_, points_, area_);
 }
@@ -626,7 +628,8 @@ Foam::ParticleCollector<CloudType>::ParticleCollector
     log_(pc.log_),
     outputFilePtr_(),
     timeOld_(0.0),
-    hitFaceIDs_()
+    hitFaceIDs_(),
+    collectedParticles_(pc.collectedParticles_)
 {}
 
 
@@ -709,9 +712,21 @@ void Foam::ParticleCollector<CloudType>::postMove
             }
         }
 
-        // Add mass contribution
-        mass_[facei] += m;
+        // If not previously collected, add mass contribution
+        Switch previouslyCollected = false;
+        forAll(collectedParticles_[facei],i)
+        {
+            if (&p == collectedParticles_[facei][i] )
+            {
+                previouslyCollected = true;
+                break;
+            }
+        }
+        if(previouslyCollected)
+        {
+            collectedParticles_[facei].append(&p);
 
+            mass_[facei] += m;
             if (nSector_ == 1)
             {
                 mass_[facei + 1] += m;
@@ -725,6 +740,7 @@ void Foam::ParticleCollector<CloudType>::postMove
             }
         }
     }
+}
 
 
 // ************************************************************************* //
diff --git src/lagrangian/intermediate/submodels/CloudFunctionObjects/ParticleCollector/ParticleCollector.H src/lagrangian/intermediate/submodels/CloudFunctionObjects/ParticleCollector/ParticleCollector.H
index d14195a..621c6e8 100644
--- src/lagrangian/intermediate/submodels/CloudFunctionObjects/ParticleCollector/ParticleCollector.H
+++ src/lagrangian/intermediate/submodels/CloudFunctionObjects/ParticleCollector/ParticleCollector.H
@@ -200,6 +200,9 @@ private:
         //- Work list to store which faces are hit
         mutable DynamicList<label> hitFaceIDs_;
 
+        //- Work list to store which particles are collected
+        List<DynamicList<typename CloudType::parcelType*>> collectedParticles_;
+
 
     // Private Member Functions
 
