diff --git a/Gui/DataView/DirectConditionGenerator.cpp b/Gui/DataView/DirectConditionGenerator.cpp
index 5f3c217b2b052d4b8daee339cc356484468d50e2..8d123b2fb2801de5080eeae43322330a2c6830d2 100644
--- a/Gui/DataView/DirectConditionGenerator.cpp
+++ b/Gui/DataView/DirectConditionGenerator.cpp
@@ -74,8 +74,13 @@ const std::vector< std::pair<size_t,double> >& DirectConditionGenerator::directW
 
 	if (_direct_values.empty())
 	{
-		mesh.MarkInterface_mHM_Hydro_3D(); // mark element faces on the surface
-
+		//mesh.MarkInterface_mHM_Hydro_3D(); // mark element faces on the surface
+		//----
+		const double dir[3] = {0,0,1};
+		MeshLib::Mesh* sfc_mesh (MeshLib::MshEditor::getMeshSurface(mesh, dir));
+		std::vector<double> node_area_vec (sfc_mesh->getNNodes());
+		MeshLib::MshEditor::getSurfaceAreaForNodes(sfc_mesh, node_area_vec);
+		//----
 		double origin_x(0), origin_y(0), delta(0);
 		size_t imgwidth(0), imgheight(0);
 		double node_val[8] = {0,0,0,0,0,0,0,0}; // maximum possible number of nodes per face (just in case ...)
diff --git a/Gui/main.cpp b/Gui/main.cpp
index f094c289bb548ad87d0706d327fa5407715ace88..d7934a0e3482b09dc763a17f1046c0cff535446b 100644
--- a/Gui/main.cpp
+++ b/Gui/main.cpp
@@ -14,8 +14,8 @@ int main(int argc, char* argv[])
 #endif
 	LOGOG_INITIALIZE();
 	logog::Cout* logogCout = new logog::Cout;
-	BaseLib::LogogSimpleFormatter formatter;
-	logogCout->SetFormatter(formatter);
+	BaseLib::LogogSimpleFormatter* formatter = new BaseLib::LogogSimpleFormatter;
+	logogCout->SetFormatter(*formatter);
 	QApplication a(argc, argv);
 	setlocale(LC_NUMERIC,"C");
 	MainWindow* w = new MainWindow();
@@ -23,7 +23,7 @@ int main(int argc, char* argv[])
 	w->show();
 	int returncode = a.exec();
 	delete w;
-
+	delete formatter;
 	delete logogCout;
 	LOGOG_SHUTDOWN();
 #ifdef OGS_USE_OPENSG