diff --git a/MaterialLib/SolidModels/CreateCreepBGRa.cpp b/MaterialLib/SolidModels/CreateCreepBGRa.cpp
index 9c63f0ea152b32ec8ec7e1efabf04ebd30884776..3ba7d751ad246ed84ad6d0520718f4767a0ab594 100644
--- a/MaterialLib/SolidModels/CreateCreepBGRa.cpp
+++ b/MaterialLib/SolidModels/CreateCreepBGRa.cpp
@@ -22,6 +22,7 @@
 #include "BaseLib/Error.h"
 
 #include "ProcessLib/Parameter/Parameter.h"
+#include "ProcessLib/Utils/ProcessUtils.h"  // required for findParameter
 
 namespace MaterialLib
 {
@@ -39,27 +40,27 @@ createCreepBGRa(
     config.checkConfigParameter("type", "CreepBGRa");
     DBUG("Create CreepBGRa material");
 
-    // Read elastic data frist.
+    // Read elastic data first.
     const bool skip_type_checking = true;
     auto elastic_data =
         MaterialLib::Solids::createLinearElasticIsotropic<DisplacementDim>(
             parameters, config, skip_type_checking);
 
-    //! \ogs_file_param_special{material__solid__constitutive_relation__CreepBGRa__a}
-    const auto A = config.getConfigParameter<double>("a");
-    DBUG("CreepBGRa parameter A=%g", A);
+    auto& A = ProcessLib::findParameter<double>(
+        //! \ogs_file_param_special{material__solid__constitutive_relation__CreepBGRa__a}
+        config, "a", parameters, 1);
 
-    //! \ogs_file_param_special{material__solid__constitutive_relation__CreepBGRa__n}
-    const auto n = config.getConfigParameter<double>("n");
-    DBUG("CreepBGRa parameter n=%g", n);
+    auto& n = ProcessLib::findParameter<double>(
+        //! \ogs_file_param_special{material__solid__constitutive_relation__CreepBGRa__n}
+        config, "n", parameters, 1);
 
-    //! \ogs_file_param_special{material__solid__constitutive_relation__CreepBGRa__sigma0}
-    const auto sigma0 = config.getConfigParameter<double>("sigma0");
-    DBUG("CreepBGRa parameter sigma0=%g", sigma0);
+    auto& sigma0 = ProcessLib::findParameter<double>(
+        //! \ogs_file_param_special{material__solid__constitutive_relation__CreepBGRa__sigma0}
+        config, "sigma0", parameters, 1);
 
-    //! \ogs_file_param_special{material__solid__constitutive_relation__CreepBGRa__q}
-    const auto Q = config.getConfigParameter<double>("q");
-    DBUG("CreepBGRa parameter Q=%g", Q);
+    auto& Q = ProcessLib::findParameter<double>(
+        //! \ogs_file_param_special{material__solid__constitutive_relation__CreepBGRa__q}
+        config, "q", parameters, 1);
 
     auto const nonlinear_solver_parameters =
         createNewtonRaphsonSolverParameters(config);
diff --git a/MaterialLib/SolidModels/CreepBGRa.cpp b/MaterialLib/SolidModels/CreepBGRa.cpp
index 5448fcf43554e5f0e53cd6a345d1752ea6f01bf6..d09b7aff66346d2794c7a6c9e41f160c90e2d9e8 100644
--- a/MaterialLib/SolidModels/CreepBGRa.cpp
+++ b/MaterialLib/SolidModels/CreepBGRa.cpp
@@ -43,9 +43,16 @@ CreepBGRa<DisplacementDim>::integrateStress(
     KelvinVector sigma_try = sigma_prev + C * (eps - eps_prev);
     ResidualVectorType solution = sigma_try;
 
+    const double A = _a(t, x)[0];
+    const double n = _n(t, x)[0];
+    const double sigma0 = _sigma_f(t, x)[0];
+    const double Q = _q(t, x)[0];
+
+    const double coef = A * std::pow(1.5, 0.5 * (1 + n)) / std::pow(sigma0, n);
+
     const double b =
-        dt * _coef *
-        std::exp(-_q / (MaterialLib::PhysicalConstant::IdealGasConstant * T));
+        dt * coef *
+        std::exp(-Q / (MaterialLib::PhysicalConstant::IdealGasConstant * T));
     auto const& deviatoric_matrix = Invariants::deviatoric_projection;
 
     // In newton_solver.solve(), the Jacobian is calculated first, and then
@@ -65,12 +72,12 @@ CreepBGRa<DisplacementDim>::integrateStress(
         double const norm_s_n1 = Invariants::FrobeniusNorm(s_n1);
         // side effect
         pow_norm_s_n1_n_minus_one_2b_G =
-            2.0 * b * this->_mp.mu(t, x) * std::pow(norm_s_n1, _n - 1);
-        jacobian = KelvinMatrix::Identity() +
-                   pow_norm_s_n1_n_minus_one_2b_G *
-                       (deviatoric_matrix +
-                        ((_n - 1) / (norm_s_n1 * norm_s_n1)) * s_n1 *
-                            s_n1.transpose());
+            2.0 * b * this->_mp.mu(t, x) * std::pow(norm_s_n1, n - 1);
+        jacobian =
+            KelvinMatrix::Identity() +
+            pow_norm_s_n1_n_minus_one_2b_G *
+                (deviatoric_matrix +
+                 ((n - 1) / (norm_s_n1 * norm_s_n1)) * s_n1 * s_n1.transpose());
     };
 
     auto const update_residual = [&](ResidualVectorType& r) {
@@ -110,11 +117,17 @@ double CreepBGRa<DisplacementDim>::getTemperatureRelatedCoefficient(
     double const t, double const dt, ProcessLib::SpatialPosition const& x,
     double const T, double const deviatoric_stress_norm) const
 {
-    return 2.0 * _coef *
-           std::exp(-_q /
+    const double A = _a(t, x)[0];
+    const double n = _n(t, x)[0];
+    const double sigma0 = _sigma_f(t, x)[0];
+    const double Q = _q(t, x)[0];
+
+    const double coef = A * std::pow(1.5, 0.5 * (1 + n)) / std::pow(sigma0, n);
+    return 2.0 * coef *
+           std::exp(-Q /
                     (MaterialLib::PhysicalConstant::IdealGasConstant * T)) *
-           this->_mp.mu(t, x) * std::pow(deviatoric_stress_norm, _n - 1) * dt *
-           _q / (MaterialLib::PhysicalConstant::IdealGasConstant * T * T);
+           this->_mp.mu(t, x) * std::pow(deviatoric_stress_norm, n - 1) * dt *
+           Q / (MaterialLib::PhysicalConstant::IdealGasConstant * T * T);
 }
 
 template class CreepBGRa<2>;
diff --git a/MaterialLib/SolidModels/CreepBGRa.h b/MaterialLib/SolidModels/CreepBGRa.h
index a243d308cc7ce8a73e5c4ef81cf3547690409aa9..ee29d0e23c4d75249d39d2f34302534aea1f5772 100644
--- a/MaterialLib/SolidModels/CreepBGRa.h
+++ b/MaterialLib/SolidModels/CreepBGRa.h
@@ -18,6 +18,7 @@
 #include "LinearElasticIsotropic.h"
 #include "MathLib/KelvinVector.h"
 #include "NumLib/NewtonRaphson.h"
+#include "ProcessLib/Parameter/Parameter.h"
 
 namespace MaterialLib
 {
@@ -50,6 +51,8 @@ public:
     using KelvinMatrix =
         MathLib::KelvinVector::KelvinMatrixType<DisplacementDim>;
 
+    using Parameter = ProcessLib::Parameter<double>;
+
     std::unique_ptr<
         typename MechanicsBase<DisplacementDim>::MaterialStateVariables>
     createMaterialStateVariables() override
@@ -61,19 +64,21 @@ public:
     CreepBGRa(
         typename LinearElasticIsotropic<DisplacementDim>::MaterialProperties mp,
         NumLib::NewtonRaphsonSolverParameters nonlinear_solver_parameters,
-        const double A, const double n, const double sigma0, const double Q)
+        Parameter const& A, Parameter const& n, Parameter const& sigma_f,
+        Parameter const& Q)
         : LinearElasticIsotropic<DisplacementDim>(std::move(mp)),
           _nonlinear_solver_parameters(std::move(nonlinear_solver_parameters)),
+          _a(A),
           _n(n),
-          _coef(A * std::pow(1.5, 0.5 * (1 + _n)) / std::pow(sigma0, _n)),
+          _sigma_f(sigma_f),
           _q(Q)
     {
     }
 
-    boost::optional<std::tuple<KelvinVector,
-                               std::unique_ptr<typename MechanicsBase<
-                                   DisplacementDim>::MaterialStateVariables>,
-                               KelvinMatrix>>
+    boost::optional<
+        std::tuple<KelvinVector, std::unique_ptr<typename MechanicsBase<
+                                     DisplacementDim>::MaterialStateVariables>,
+                   KelvinMatrix>>
     integrateStress(
         double const t, ProcessLib::SpatialPosition const& x, double const dt,
         KelvinVector const& eps_prev, KelvinVector const& eps,
@@ -94,10 +99,10 @@ public:
 private:
     NumLib::NewtonRaphsonSolverParameters const _nonlinear_solver_parameters;
 
-    const double _n;  /// Creep rate exponent n.
-    /// \f$A\left(\frac{3}{2}\right)^{n/2+1}/\sigma_{eff}^n \f$
-    const double _coef;
-    const double _q;  /// Activation energy
+    Parameter const& _a;        /// A parameter determined by experiment.
+    Parameter const& _n;        /// Creep rate exponent n.
+    Parameter const& _sigma_f;  /// A stress scaling factor.
+    Parameter const& _q;        /// Activation energy
 };
 
 extern template class CreepBGRa<2>;
diff --git a/Tests/Data/ThermoMechanics/CreepBGRa/CreepAfterExcavation/CreepAfterExcavation.prj b/Tests/Data/ThermoMechanics/CreepBGRa/CreepAfterExcavation/CreepAfterExcavation.prj
index de8f4d0112986216915464022f995436f04c3d3e..afd7a74da54027bc87a49b1ecfddb39b57baf032 100644
--- a/Tests/Data/ThermoMechanics/CreepBGRa/CreepAfterExcavation/CreepAfterExcavation.prj
+++ b/Tests/Data/ThermoMechanics/CreepBGRa/CreepAfterExcavation/CreepAfterExcavation.prj
@@ -15,10 +15,10 @@
                 <type>CreepBGRa</type>
                 <youngs_modulus>E</youngs_modulus>
                 <poissons_ratio>nu</poissons_ratio>
-                <a>2.0833333333333334e-06</a>
-                <n>4.9</n>
-                <sigma0>1e6</sigma0>
-                <q>54000</q>
+                <a>A</a>
+                <n>n</n>
+                <sigma0>sigma_f</sigma0>
+                <q>Q</q>
                 <nonlinear_solver>
                     <maximum_iterations>1000</maximum_iterations>
                     <error_tolerance>2e-8</error_tolerance>
@@ -109,6 +109,27 @@
     </time_loop>
 
     <parameters>
+        <parameter>
+            <name>A</name>
+            <type>Constant</type>
+            <value>2.0833333333333334e-06</value>
+        </parameter>
+        <parameter>
+            <name>n</name>
+            <type>Constant</type>
+            <value>4.9</value>
+        </parameter>
+        <parameter>
+            <name>sigma_f</name>
+            <type>Constant</type>
+            <value>1.0e+6</value>
+        </parameter>
+        <parameter>
+            <name>Q</name>
+            <type>Constant</type>
+            <value>54000</value>
+        </parameter>
+
         <parameter>
             <name>E</name>
             <type>MeshElement</type>
diff --git a/Tests/Data/ThermoMechanics/CreepBGRa/SimpleAxisymmetricCreep/SimpleAxisymmetricCreep.prj b/Tests/Data/ThermoMechanics/CreepBGRa/SimpleAxisymmetricCreep/SimpleAxisymmetricCreep.prj
index 86f983a7484e559eca0feb4c2c32746b2c96a5ec..e7752f3824a86fa74d7f87c013eab4ede5e2d5a2 100644
--- a/Tests/Data/ThermoMechanics/CreepBGRa/SimpleAxisymmetricCreep/SimpleAxisymmetricCreep.prj
+++ b/Tests/Data/ThermoMechanics/CreepBGRa/SimpleAxisymmetricCreep/SimpleAxisymmetricCreep.prj
@@ -11,10 +11,10 @@
                 <type>CreepBGRa</type>
                 <youngs_modulus>E</youngs_modulus>
                 <poissons_ratio>nu</poissons_ratio>
-                <a>0.18</a>
-                <n>5.0</n>
-                <sigma0>1</sigma0>
-                <q>54000</q>
+                <a>A</a>
+                <n>n</n>
+                <sigma0>sigma_f</sigma0>
+                <q>Q</q>
                 <nonlinear_solver>
                     <maximum_iterations>1000</maximum_iterations>
                     <error_tolerance>1e-8</error_tolerance>
@@ -105,6 +105,27 @@
     </time_loop>
 
     <parameters>
+        <parameter>
+            <name>A</name>
+            <type>Constant</type>
+            <value>0.18</value>
+        </parameter>
+        <parameter>
+            <name>n</name>
+            <type>Constant</type>
+            <value>5.0</value>
+        </parameter>
+        <parameter>
+            <name>sigma_f</name>
+            <type>Constant</type>
+            <value>1</value>
+        </parameter>
+        <parameter>
+            <name>Q</name>
+            <type>Constant</type>
+            <value>54000</value>
+        </parameter>
+
         <parameter>
             <name>E</name>
             <type>Constant</type>
diff --git a/Tests/Data/ThermoMechanics/CreepBGRa/SimpleAxisymmetricCreep/SimpleAxisymmetricCreepWithAnalyticSolution.prj b/Tests/Data/ThermoMechanics/CreepBGRa/SimpleAxisymmetricCreep/SimpleAxisymmetricCreepWithAnalyticSolution.prj
index cef8ba5bf9b47e0e1cfc82777dcba99ddbc4c780..7c66a11b8bb2af76efcf1496eb201b197d4f7a9b 100644
--- a/Tests/Data/ThermoMechanics/CreepBGRa/SimpleAxisymmetricCreep/SimpleAxisymmetricCreepWithAnalyticSolution.prj
+++ b/Tests/Data/ThermoMechanics/CreepBGRa/SimpleAxisymmetricCreep/SimpleAxisymmetricCreepWithAnalyticSolution.prj
@@ -11,10 +11,10 @@
                 <type>CreepBGRa</type>
                 <youngs_modulus>E</youngs_modulus>
                 <poissons_ratio>nu</poissons_ratio>
-                <a>0.18</a>
-                <n>5.0</n>
-                <sigma0>1</sigma0>
-                <q>54000</q>
+                <a>A</a>
+                <n>n</n>
+                <sigma0>sigma_f</sigma0>
+                <q>Q</q>
                 <nonlinear_solver>
                     <maximum_iterations>1000</maximum_iterations>
                     <error_tolerance>1e-8</error_tolerance>
@@ -93,6 +93,27 @@
     </time_loop>
 
     <parameters>
+        <parameter>
+            <name>A</name>
+            <type>Constant</type>
+            <value>0.18</value>
+        </parameter>
+        <parameter>
+            <name>n</name>
+            <type>Constant</type>
+            <value>5.0</value>
+        </parameter>
+        <parameter>
+            <name>sigma_f</name>
+            <type>Constant</type>
+            <value>1</value>
+        </parameter>
+        <parameter>
+            <name>Q</name>
+            <type>Constant</type>
+            <value>54000</value>
+        </parameter>
+
         <parameter>
             <name>E</name>
             <type>Constant</type>