diff --git a/ProcessLib/Parameter/ConstantParameter.cpp b/ProcessLib/Parameter/ConstantParameter.cpp
index 94d7f6929f3ee40645cfc28392f38f1de3c3245b..12ac93c33fe0cfe88112ef1264fcf08a26632a92 100644
--- a/ProcessLib/Parameter/ConstantParameter.cpp
+++ b/ProcessLib/Parameter/ConstantParameter.cpp
@@ -25,12 +25,20 @@ std::unique_ptr<ParameterBase> createConstantParameter(
     // then required tag 'values'.
     {
         //! \ogs_file_param{prj__parameters__parameter__Constant__value}
-        auto const value = config.getConfigParameterOptional<double>("value");
+        auto const value =
+            config.getConfigParameterOptional<std::vector<double>>("value");
 
         if (value)
         {
-            DBUG("Using value %g for constant parameter.", *value);
-            return std::make_unique<ConstantParameter<double>>(name, *value);
+            if (value->size() != 1)
+            {
+                OGS_FATAL(
+                    "Expected to read exactly one value, but %d were given.",
+                    value->size());
+            }
+            DBUG("Using value %g for constant parameter.", (*value)[0]);
+            return std::make_unique<ConstantParameter<double>>(name,
+                                                               (*value)[0]);
         }
     }