diff --git a/src/lagrangian/basic/indexedParticle/indexedParticle.H b/src/lagrangian/basic/indexedParticle/indexedParticle.H
index 6c940d0b70b7d109cecfa1dfaf33d61c4e4eb3ac..3a6ffb01e06e61bca2d9677e64233ef0772e6880 100644
--- a/src/lagrangian/basic/indexedParticle/indexedParticle.H
+++ b/src/lagrangian/basic/indexedParticle/indexedParticle.H
@@ -108,9 +108,12 @@ public:
         {}
 
         //- Construct and return a clone
-        autoPtr<indexedParticle> clone() const
+        virtual autoPtr<Particle<indexedParticle> > clone() const
         {
-            return autoPtr<indexedParticle>(new indexedParticle(*this));
+            return autoPtr<Particle<indexedParticle> >
+            (
+                new indexedParticle(*this)
+            );
         }
 
 
diff --git a/src/lagrangian/basic/passiveParticle/passiveParticle.H b/src/lagrangian/basic/passiveParticle/passiveParticle.H
index 50697e3a69d2f65b749c341be3eec8500803d833..e70852a0f531cf3e79aef289d3697d0f37afcc19 100644
--- a/src/lagrangian/basic/passiveParticle/passiveParticle.H
+++ b/src/lagrangian/basic/passiveParticle/passiveParticle.H
@@ -99,9 +99,12 @@ public:
         {}
 
         //- Construct and return a clone
-        autoPtr<passiveParticle> clone() const
+        virtual autoPtr<Particle<passiveParticle> > clone() const
         {
-            return autoPtr<passiveParticle>(new passiveParticle(*this));
+            return autoPtr<Particle<passiveParticle> >
+            (
+                new passiveParticle(*this)
+            );
         }
 };