diff --git a/GUI/coregui/Models/SampleModel.cpp b/GUI/coregui/Models/SampleModel.cpp
index ee671ce1a316c21c3644ecb1d1e2e4896b5423e8..5ef128aad32e7ecbaffa2a1b6681222bd34334a4 100644
--- a/GUI/coregui/Models/SampleModel.cpp
+++ b/GUI/coregui/Models/SampleModel.cpp
@@ -17,6 +17,8 @@
 #include "SampleModel.h"
 #include "LayerItem.h"
 #include "MultiLayerItem.h"
+#include "MaterialProperty.h"
+#include "MaterialSvc.h"
 
 SampleModel::SampleModel(QObject *parent)
     : SessionModel(SessionXML::SampleModelTag, parent)
@@ -55,8 +57,14 @@ void SampleModel::exploreForMaterials(const QModelIndex &parentIndex)
         if (SessionItem *item = itemForIndex(itemIndex)) {
             if (item->modelType() == Constants::LayerType
                 || item->modelType() == Constants::ParticleType) {
-                // we pretend here that MaterialProperty changed to update IView colors
-                item->getItem(LayerItem::P_MATERIAL)->emitDataChanged();
+                MaterialProperty material_property =
+                        item->getItemValue(LayerItem::P_MATERIAL).value<MaterialProperty>();
+                if(!MaterialSvc::getMaterial(material_property)) {
+                    item->setItemValue(LayerItem::P_MATERIAL, MaterialProperty().getVariant());
+                } else {
+                    // we pretend here that MaterialProperty changed to update IView colors
+                    item->getItem(LayerItem::P_MATERIAL)->emitDataChanged();
+                }
             }
         }
         exploreForMaterials(itemIndex);
diff --git a/GUI/coregui/Views/MaterialEditor/MaterialUtils.cpp b/GUI/coregui/Views/MaterialEditor/MaterialUtils.cpp
index 2feee946bb67ad3b4f49b6e55f1d570363e8d055..c7505ea2f7a7e153bebd476103b3a12257a8ca34 100644
--- a/GUI/coregui/Views/MaterialEditor/MaterialUtils.cpp
+++ b/GUI/coregui/Views/MaterialEditor/MaterialUtils.cpp
@@ -66,6 +66,10 @@ MaterialUtils::createDomainMaterial(const MaterialProperty &material_property)
 {
     MaterialItem *materialItem
         = MaterialSvc::getMaterial(material_property);
-    Q_ASSERT(materialItem);
+
+    if(!materialItem)
+        throw GUIHelpers::Error("MaterialUtils::createDomainMaterial() -> Error. Can't create "
+                                "material with name '"+material_property.getName()+"'.");
+
     return materialItem->createMaterial();
 }