diff --git a/Applications/DataExplorer/DataView/DirectConditionGenerator.cpp b/Applications/DataExplorer/DataView/DirectConditionGenerator.cpp
index c6e5f3f80325f30ee066961d02d03701fd6c84b3..04fde58032915728d201a5365c7e103b67ca826d 100644
--- a/Applications/DataExplorer/DataView/DirectConditionGenerator.cpp
+++ b/Applications/DataExplorer/DataView/DirectConditionGenerator.cpp
@@ -97,22 +97,23 @@ const std::vector< std::pair<std::size_t,double> >& DirectConditionGenerator::di
     const std::size_t nNodes(surface_mesh->getNumberOfNodes());
     const double no_data(raster->getHeader().no_data);
 
-    auto const* const node_id_pv =
-        surface_mesh->getProperties().getPropertyVector<int>(prop_name);
-    if (!node_id_pv)
+    MeshLib::PropertyVector<int> const* node_id_pv = nullptr;
+    try
     {
-        ERR(
-            "Need subsurface node ids, but the property \"%s\" is not "
-            "available.",
-            prop_name.c_str());
+        node_id_pv = surface_mesh->getProperties().getPropertyVector<int>(
+            prop_name, MeshLib::MeshItemType::Node, 1);
+    }
+    catch (std::runtime_error const& e)
+    {
+        WARN("%s", e.what());
         return _direct_values;
     }
 
     _direct_values.reserve(nNodes);
-    for (std::size_t i=0; i<nNodes; ++i)
+    for (std::size_t i = 0; i < nNodes; ++i)
     {
         double val(raster->getValueAtPoint(*surface_nodes[i]));
-        val = (val == no_data) ? 0 : ((val*node_area_vec[i])/scaling);
+        val = (val == no_data) ? 0 : ((val * node_area_vec[i]) / scaling);
         _direct_values.emplace_back((*node_id_pv)[i], val);
     }
 
diff --git a/Applications/DataExplorer/DataView/ElementTreeModel.cpp b/Applications/DataExplorer/DataView/ElementTreeModel.cpp
index 9f3efbd8272fbd49fe463f0017a18cabf3e6af64..bc407df5d31e2afafc6ac316a8c2ab918cf5c01b 100644
--- a/Applications/DataExplorer/DataView/ElementTreeModel.cpp
+++ b/Applications/DataExplorer/DataView/ElementTreeModel.cpp
@@ -65,9 +65,11 @@ void ElementTreeModel::setElement(vtkUnstructuredGridAlgorithm const*const grid,
     auto* typeItem = new TreeItem(typeData, elemItem);
     elemItem->appendChild(typeItem);
 
-    MeshLib::PropertyVector<int> const*const mat_ids =
-        mesh->getProperties().existsPropertyVector<int>("MaterialIDs")
-            ? mesh->getProperties().getPropertyVector<int>("MaterialIDs")
+    MeshLib::PropertyVector<int> const* const mat_ids =
+        mesh->getProperties().existsPropertyVector<int>(
+            "MaterialIDs", MeshLib::MeshItemType::Cell, 1)
+            ? mesh->getProperties().getPropertyVector<int>(
+                  "MaterialIDs", MeshLib::MeshItemType::Cell, 1)
             : nullptr;
     QString matIdString = !mat_ids ? QString("not defined") : QString::number((*mat_ids)[elem->getID()]);
     QList<QVariant> materialData;