diff --git a/ProcessLib/Parameter/Parameter.h b/ProcessLib/Parameter/Parameter.h
index 51c71a82d2f3e888713827ca952b80aa39ea912a..26e676d06da69ed63ea8389fa9af646204c51387 100644
--- a/ProcessLib/Parameter/Parameter.h
+++ b/ProcessLib/Parameter/Parameter.h
@@ -15,11 +15,13 @@
 #include <vector>
 
 #include <Eigen/Dense>
+#include <boost/optional.hpp>
 
 #include "BaseLib/Error.h"
 #include "MeshLib/Elements/Element.h"
 #include "MeshLib/Node.h"
 
+#include "CoordinateSystem.h"
 #include "SpatialPosition.h"
 
 namespace BaseLib
@@ -54,6 +56,11 @@ struct ParameterBase
 
     virtual bool isTimeDependent() const = 0;
 
+    void setCoordinateSystem(CoordinateSystem const& coordinate_system)
+    {
+        _coordinate_system = coordinate_system;
+    }
+
     /// Parameters might depend on each other; this method allows to set up the
     /// dependencies between parameters after they have been constructed.
     virtual void initialize(
@@ -67,6 +74,8 @@ struct ParameterBase
     std::string const name;
 
 protected:
+    boost::optional<CoordinateSystem> _coordinate_system;
+
     /// A mesh on which the parameter is defined. Some parameters might be
     /// mesh-independent.
     MeshLib::Mesh const* _mesh;