diff --git a/GUI/Model/Sample/ParticleLayoutItem.cpp b/GUI/Model/Sample/ParticleLayoutItem.cpp
index e784957aeabf59e82e67a0ec7ecf394d1c3bb89f..ae2961053e433d25977e7ab06eb98df848b28069 100644
--- a/GUI/Model/Sample/ParticleLayoutItem.cpp
+++ b/GUI/Model/Sample/ParticleLayoutItem.cpp
@@ -73,11 +73,9 @@ QVector<ItemWithParticles*> ParticleLayoutItem::itemsWithParticles() const
     return m_particles.toModifiableQVector();
 }
 
-PolyItem<ItemWithParticlesCatalog>&
-ParticleLayoutItem::addItemWithParticleSelection(ItemWithParticles* particle)
+void ParticleLayoutItem::addItemWithParticleSelection(ItemWithParticles* particle)
 {
     m_particles.emplace_item_back(particle);
-    return m_particles.back();
 }
 
 void ParticleLayoutItem::removeItemWithParticle(ItemWithParticles* particle)
@@ -158,7 +156,9 @@ void ParticleLayoutItem::readFrom(QXmlStreamReader* r)
 
             // particle
         } else if (tag == Tag::Particle) {
-            addItemWithParticleSelection(nullptr).readFrom(r, m_materials);
+	    PolyItem<ItemWithParticlesCatalog> p;
+	    p.readFrom(r, m_materials);
+	    m_particles.emplace_item_back(p.releaseItem());
             XML::gotoEndElementOfTag(r, tag);
 
             // layout groupbox: is expanded?
diff --git a/GUI/Model/Sample/ParticleLayoutItem.h b/GUI/Model/Sample/ParticleLayoutItem.h
index dc601c2d72b18a015f47deff8f9a33cfee65da7b..3f9feeca95ad6a51e074679c78a3161a21043b38 100644
--- a/GUI/Model/Sample/ParticleLayoutItem.h
+++ b/GUI/Model/Sample/ParticleLayoutItem.h
@@ -49,12 +49,11 @@ public:
     //! Note that this is not a hierarchical search! Only the topmost particles are returned, not
     //! their contained particles. For a hierarchical search use containedItemsWithParticles
     QVector<ItemWithParticles*> itemsWithParticles() const;
-    PolyItem<ItemWithParticlesCatalog>& addItemWithParticleSelection(ItemWithParticles* particle);
+
+    void addItemWithParticleSelection(ItemWithParticles* particle);
     void removeItemWithParticle(ItemWithParticles* particle);
 
     //! Return full hierarchical contained items with particles.
-    //!
-    //! \sa particles()
     QVector<ItemWithParticles*> containedItemsWithParticles() const;
 
     PolyItem<InterferenceItemCatalog>& interferenceSelection() { return m_interference; }