diff --git a/Applications/Utils/MeshEdit/createLayeredMeshFromRasters.cpp b/Applications/Utils/MeshEdit/createLayeredMeshFromRasters.cpp
index e0406999ea36421b5a2bdd82a3681d43aa9cc188..a18bd1caf26a36cd73ce44614f43b402f142aaf9 100644
--- a/Applications/Utils/MeshEdit/createLayeredMeshFromRasters.cpp
+++ b/Applications/Utils/MeshEdit/createLayeredMeshFromRasters.cpp
@@ -154,8 +154,12 @@ int main (int argc, char* argv[])
     }
 
     INFO("Writing mesh '{:s}' ... ", output_name);
-    auto result_mesh = std::make_unique<MeshLib::Mesh>(
-        *(mapper.getMesh("SubsurfaceMesh").release()));
+    auto result_mesh = mapper.getMesh("SubsurfaceMesh");
+    if (result_mesh == nullptr)
+    {
+        ERR("Mapper returned empty result for 'SubsurfaceMesh'.");
+        return EXIT_FAILURE;
+    }
 
     auto const data_mode =
         use_ascii_arg.getValue() ? vtkXMLWriter::Ascii : vtkXMLWriter::Binary;
diff --git a/MeshLib/MeshGenerators/LayeredMeshGenerator.cpp b/MeshLib/MeshGenerators/LayeredMeshGenerator.cpp
index 8f26863354c12c3a861fbef05df7a0d523053e75..cf4ee4332abaf8360f7352e9334c2305fb4f98e2 100644
--- a/MeshLib/MeshGenerators/LayeredMeshGenerator.cpp
+++ b/MeshLib/MeshGenerators/LayeredMeshGenerator.cpp
@@ -48,8 +48,14 @@ bool LayeredMeshGenerator::createLayers(
 std::unique_ptr<MeshLib::Mesh>
 LayeredMeshGenerator::getMesh(std::string const& mesh_name) const
 {
-    if (_nodes.empty() || _elements.empty())
+    if (_nodes.empty())
     {
+        WARN("LayeredMeshGenerator has not created any nodes.");
+        return nullptr;
+    }
+    if (_elements.empty())
+    {
+        WARN("LayeredMeshGenerator has not created any elements.");
         return nullptr;
     }