diff --git a/GUI/View/SampleDesigner/SampleEditorCommands.cpp b/GUI/View/SampleDesigner/SampleEditorCommands.cpp
index e457a8d293f7cccba0c244d1ea246e32c548335f..db135020cd307d1a2bcf33964f9399167c535059 100644
--- a/GUI/View/SampleDesigner/SampleEditorCommands.cpp
+++ b/GUI/View/SampleDesigner/SampleEditorCommands.cpp
@@ -16,6 +16,7 @@
 
 #include "GUI/Model/Item/LayerItem.h"
 #include "GUI/Model/Item/MultiLayerItem.h"
+#include "GUI/Model/Model/MaterialModel.h"
 #include "GUI/Model/XML/Serializer.h"
 #include "GUI/View/SampleDesigner/MultiLayerForm.h"
 #include "GUI/View/SampleDesigner/SampleEditorController.h"
@@ -73,7 +74,7 @@ void CommandRemoveLayer::undo()
 {
     LayerItem* restoredLayer = m_ec->multiLayerItem()->addLayer(m_indexOfLayer);
     deserialize(restoredLayer, m_layerItemBackup);
-    restoredLayer->setMaterialModel(m_ec->materialModel());
+    m_ec->materialModel()->setFinderForItem(*restoredLayer);
     m_ec->multiLayerForm()->onLayerAdded(restoredLayer);
     emit m_ec->modified();
 }
diff --git a/GUI/View/SampleDesigner/SampleEditorController.cpp b/GUI/View/SampleDesigner/SampleEditorController.cpp
index b10490892346c93719e59b98f2f6da87326083d2..52e34c90f0f38fad6d7d0672f67a191589177a5e 100644
--- a/GUI/View/SampleDesigner/SampleEditorController.cpp
+++ b/GUI/View/SampleDesigner/SampleEditorController.cpp
@@ -101,7 +101,7 @@ void SampleEditorController::addLayer(LayerItem* before)
 
     // - create new layer
     LayerItem* layer = m_multiLayerItem->addLayer(rowInMultiLayer);
-    layer->setMaterialModel(materialModel());
+    materialModel()->setFinderForItem(*layer);
     layer->setMaterial(materialModel()->defaultMaterial());
     layer->setColor(color);
 
@@ -214,7 +214,7 @@ ItemWithParticles*
 SampleEditorController::createAndInitParticle(FormFactorItemCatalog::Type formFactorType) const
 {
     auto* newParticle = new ParticleItem();
-    newParticle->setMaterialModel(materialModel());
+    materialModel()->setFinderForItem(*newParticle);
     newParticle->setFormFactor(FormFactorItemCatalog::create(formFactorType));
     newParticle->setMaterial(materialModel()->defaultMaterial());
     return newParticle;
@@ -226,7 +226,7 @@ SampleEditorController::createAndInitParticle(ItemWithParticlesCatalog::Type ite
     auto* newItem = ItemWithParticlesCatalog::create(itemType);
 
     if (auto* p = dynamic_cast<ItemWithMaterial*>(newItem)) {
-        p->setMaterialModel(materialModel());
+        materialModel()->setFinderForItem(*p);
         p->setMaterial(materialModel()->defaultMaterial());
     }
 
@@ -239,7 +239,7 @@ SampleEditorController::createAndInitParticle(ItemWithParticlesCatalog::Type ite
 
     if (auto* meso = dynamic_cast<MesoCrystalItem*>(newItem); meso && meso->basisParticle())
         if (auto* p = dynamic_cast<ItemWithMaterial*>(meso->basisParticle())) {
-            p->setMaterialModel(materialModel());
+            materialModel()->setFinderForItem(*p);
             p->setMaterial(materialModel()->defaultMaterial());
         }