diff --git a/ProcessLib/GroundwaterFlowProcess.h b/ProcessLib/GroundwaterFlowProcess.h
index 08be63a171381d0cd44382213aa281e8bd50d6fc..ae251fe73ba0104a5393775ae3633d7b8246a544 100644
--- a/ProcessLib/GroundwaterFlowProcess.h
+++ b/ProcessLib/GroundwaterFlowProcess.h
@@ -170,8 +170,6 @@ public:
     {
         DBUG("Initialize GroundwaterFlowProcess.");
 
-        Process<GlobalSetup>::setInitialConditions(*_hydraulic_head, 0);
-
         if (this->_mesh.getDimension()==1)
             createLocalAssemblers<1>();
         else if (this->_mesh.getDimension()==2)
diff --git a/ProcessLib/Process.h b/ProcessLib/Process.h
index cd4f87884dd2f8a687ec02a0050077a94c2c25b5..812072c3f9bfb2b867dc86b1a6401fb21edfa606 100644
--- a/ProcessLib/Process.h
+++ b/ProcessLib/Process.h
@@ -90,6 +90,9 @@ public:
 
 		for (auto const& pv : _process_variables)
 		{
+			DBUG("Set initial conditions.");
+			setInitialConditions(*pv, 0);  // 0 is the component id
+
 			DBUG("Initialize boundary conditions.");
 			createDirichletBcs(*pv, 0);  // 0 is the component id