diff --git a/cpp/particles/p2p/p2p_ghost_collisions.hpp b/cpp/particles/p2p/p2p_ghost_collisions.hpp
index b609d17ff2000c7f5149d186d14b301d19e3e8e1..d6ddae34dc734a71b90193b9c6267312fa22acac 100644
--- a/cpp/particles/p2p/p2p_ghost_collisions.hpp
+++ b/cpp/particles/p2p/p2p_ghost_collisions.hpp
@@ -87,6 +87,7 @@ public:
         this->disk_width = src.disk_width;
         this->isActive = src.isActive;
         this->synchronisation = src.synchronisation;
+        this->collision_pairs_local.reserve(src.collision_pairs_local.capacity());
     }
 
     template <int size_particle_rhs>
@@ -178,8 +179,8 @@ public:
 
 
     void reset_collision_pairs(){
-        this->collision_pairs_local.clear();
-        this->collision_pairs_global.clear();
+        this->collision_pairs_local.resize(0);
+        this->collision_pairs_global.resize(0);
         this->synchronisation = false;
     }