diff --git a/Framework/StackInterface/Stack.h b/Framework/StackInterface/Stack.h
index b277b10839464d2170306a1ed75c4b48a9da088a..ea84ad86d32c285fa6b2d2ce400b53cac791059c 100644
--- a/Framework/StackInterface/Stack.h
+++ b/Framework/StackInterface/Stack.h
@@ -241,10 +241,6 @@ namespace corsika::stack {
       data_.Swap(a.GetIndex(), b.GetIndex());
       std::swap(deleted_[a.GetIndex()], deleted_[b.GetIndex()]);
     }
-    void Swap(ConstStackIterator a, ConstStackIterator b) {
-      data_.Swap(a.GetIndex(), b.GetIndex());
-      std::swap(deleted_[a.GetIndex()], deleted_[b.GetIndex()]);
-    }
     void Copy(StackIterator a, StackIterator b) {
       data_.Copy(a.GetIndex(), b.GetIndex());
       if (deleted_[b.GetIndex()] && !deleted_[a.GetIndex()]) nDeleted_--;
diff --git a/Framework/StackInterface/testStackInterface.cc b/Framework/StackInterface/testStackInterface.cc
index e4e78a24f17c0a1914a7f5c946a9bffa16cd0c91..47cee856ab7d46ce6b5b5c978135bb798735afc8 100644
--- a/Framework/StackInterface/testStackInterface.cc
+++ b/Framework/StackInterface/testStackInterface.cc
@@ -162,4 +162,52 @@ TEST_CASE("Stack", "[Stack]") {
     CHECK(s.getEntries() == 0);
     CHECK(s.IsEmpty());
   }
+
+  SECTION("swap particle") {
+    StackTest s;
+    CHECK(s.getSize() == 0);
+    CHECK(s.getEntries() == 0);
+    CHECK(s.IsEmpty());
+    
+    s.AddParticle(std::tuple{9.888});
+    s.AddParticle(std::tuple{8.999});    
+    CHECK(s.getSize() == 2);
+    CHECK(s.getEntries() == 2);
+    CHECK(!s.IsEmpty());
+
+    auto p1 = s.begin();
+    auto p2 = p1+1;
+
+    CHECK(p1.GetData()==9.888);
+    CHECK(p2.GetData()==8.999);
+
+    s.Swap(p1, p2);
+    
+    CHECK(p1.GetData()==8.999);
+    CHECK(p2.GetData()==9.888);    
+  }
+
+  SECTION("copy particle") {
+    StackTest s;
+    CHECK(s.getSize() == 0);
+    CHECK(s.getEntries() == 0);
+    CHECK(s.IsEmpty());
+    
+    s.AddParticle(std::tuple{9.888});
+    s.AddParticle(std::tuple{8.999});    
+    CHECK(s.getSize() == 2);
+    CHECK(s.getEntries() == 2);
+    CHECK(!s.IsEmpty());
+
+    auto p1 = s.begin();
+    auto p2 = p1+1;
+
+    CHECK(p1.GetData()==9.888);
+    CHECK(p2.GetData()==8.999);
+
+    s.Copy(p1, p2);
+    
+    CHECK(p1.GetData()==9.888);
+    CHECK(p2.GetData()==9.888);    
+  }
 }