diff --git a/ProcessLib/ComponentTransport/Tests.cmake b/ProcessLib/ComponentTransport/Tests.cmake
index ff92aed5443b46242b5595872c7cc8c09fa18ce7..0167df0511de1b83ff6a2ff6d8b0035be9ddf8ad 100644
--- a/ProcessLib/ComponentTransport/Tests.cmake
+++ b/ProcessLib/ComponentTransport/Tests.cmake
@@ -966,3 +966,35 @@ AddTest(
     1d_isofrac_pcs_3_ts_210_t_21000.000000_expected.vtu 1d_isofrac_pcs_3_ts_210_t_21000.000000.vtu H H 1e-10 1e-16
     RUNTIME 85
 )
+
+AddTest(
+    NAME 1D_ReactiveMassTransport_ChemicalFormulaFlagTest
+    PATH Parabolic/ComponentTransport/ReactiveTransport/KineticReactant
+    EXECUTABLE ogs
+    EXECUTABLE_ARGS 1d_isofrac_flag_formula.prj
+    WRAPPER time
+    TESTER vtkdiff
+    REQUIREMENTS NOT OGS_USE_MPI
+    DIFF_DATA
+    1d_isofrac_pcs_3_ts_42_t_4200.000000_expected.vtu 1d_isofrac_flag_formula_pcs_3_ts_42_t_4200.000000.vtu pressure pressure 1e-6 1e-10
+    1d_isofrac_pcs_3_ts_84_t_8400.000000_expected.vtu 1d_isofrac_flag_formula_pcs_3_ts_84_t_8400.000000.vtu pressure pressure 1e-6 1e-10
+    1d_isofrac_pcs_3_ts_126_t_12600.000000_expected.vtu 1d_isofrac_flag_formula_pcs_3_ts_126_t_12600.000000.vtu pressure pressure 1e-6 1e-10
+    1d_isofrac_pcs_3_ts_168_t_16800.000000_expected.vtu 1d_isofrac_flag_formula_pcs_3_ts_168_t_16800.000000.vtu pressure pressure 1e-6 1e-10
+    1d_isofrac_pcs_3_ts_210_t_21000.000000_expected.vtu 1d_isofrac_flag_formula_pcs_3_ts_210_t_21000.000000.vtu pressure pressure 1e-6 1e-10
+    1d_isofrac_pcs_3_ts_42_t_4200.000000_expected.vtu 1d_isofrac_flag_formula_pcs_3_ts_42_t_4200.000000.vtu Synthetica Synthetica 1e-10 1e-16
+    1d_isofrac_pcs_3_ts_84_t_8400.000000_expected.vtu 1d_isofrac_flag_formula_pcs_3_ts_84_t_8400.000000.vtu Synthetica Synthetica 1e-10 1e-16
+    1d_isofrac_pcs_3_ts_126_t_12600.000000_expected.vtu 1d_isofrac_flag_formula_pcs_3_ts_126_t_12600.000000.vtu Synthetica Synthetica 1e-10 1e-16
+    1d_isofrac_pcs_3_ts_168_t_16800.000000_expected.vtu 1d_isofrac_flag_formula_pcs_3_ts_168_t_16800.000000.vtu Synthetica Synthetica 1e-10 1e-16
+    1d_isofrac_pcs_3_ts_210_t_21000.000000_expected.vtu 1d_isofrac_flag_formula_pcs_3_ts_210_t_21000.000000.vtu Synthetica Synthetica 1e-10 1e-16
+    1d_isofrac_pcs_3_ts_42_t_4200.000000_expected.vtu 1d_isofrac_flag_formula_pcs_3_ts_42_t_4200.000000.vtu Syntheticb Syntheticb 1e-10 1e-16
+    1d_isofrac_pcs_3_ts_84_t_8400.000000_expected.vtu 1d_isofrac_flag_formula_pcs_3_ts_84_t_8400.000000.vtu Syntheticb Syntheticb 1e-10 1e-16
+    1d_isofrac_pcs_3_ts_126_t_12600.000000_expected.vtu 1d_isofrac_flag_formula_pcs_3_ts_126_t_12600.000000.vtu Syntheticb Syntheticb 1e-10 1e-16
+    1d_isofrac_pcs_3_ts_168_t_16800.000000_expected.vtu 1d_isofrac_flag_formula_pcs_3_ts_168_t_16800.000000.vtu Syntheticb Syntheticb 1e-10 1e-16
+    1d_isofrac_pcs_3_ts_210_t_21000.000000_expected.vtu 1d_isofrac_flag_formula_pcs_3_ts_210_t_21000.000000.vtu Syntheticb Syntheticb 1e-10 1e-16
+    1d_isofrac_pcs_3_ts_42_t_4200.000000_expected.vtu 1d_isofrac_flag_formula_pcs_3_ts_42_t_4200.000000.vtu H H 1e-10 1e-16
+    1d_isofrac_pcs_3_ts_84_t_8400.000000_expected.vtu 1d_isofrac_flag_formula_pcs_3_ts_84_t_8400.000000.vtu H H 1e-10 1e-16
+    1d_isofrac_pcs_3_ts_126_t_12600.000000_expected.vtu 1d_isofrac_flag_formula_pcs_3_ts_126_t_12600.000000.vtu H H 1e-10 1e-16
+    1d_isofrac_pcs_3_ts_168_t_16800.000000_expected.vtu 1d_isofrac_flag_formula_pcs_3_ts_168_t_16800.000000.vtu H H 1e-10 1e-16
+    1d_isofrac_pcs_3_ts_210_t_21000.000000_expected.vtu 1d_isofrac_flag_formula_pcs_3_ts_210_t_21000.000000.vtu H H 1e-10 1e-16
+    RUNTIME 85
+)
diff --git a/Tests/Data/Parabolic/ComponentTransport/ReactiveTransport/KineticReactant/1d_isofrac_flag_formula.prj b/Tests/Data/Parabolic/ComponentTransport/ReactiveTransport/KineticReactant/1d_isofrac_flag_formula.prj
new file mode 100644
index 0000000000000000000000000000000000000000..4daa7f2d5bc0a0386338258b7adc4543423f33f1
--- /dev/null
+++ b/Tests/Data/Parabolic/ComponentTransport/ReactiveTransport/KineticReactant/1d_isofrac_flag_formula.prj
@@ -0,0 +1,440 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+<OpenGeoSysProject>
+    <mesh>1d_isofrac.vtu</mesh>
+    <geometry>1d_isofrac.gml</geometry>
+    <processes>
+        <process>
+            <name>hc</name>
+            <type>ComponentTransport</type>
+            <integration_order>2</integration_order>
+            <coupling_scheme>staggered</coupling_scheme>
+            <process_variables>
+                <concentration>H</concentration>
+                <concentration>Synthetica</concentration>
+                <concentration>Syntheticb</concentration>
+                <pressure>pressure</pressure>
+            </process_variables>
+            <fluid>
+                <density>
+                    <type>Constant</type>
+                    <value>1e3</value>
+                </density>
+                <viscosity>
+                    <type>Constant</type>
+                    <value>1e-3</value>
+                </viscosity>
+            </fluid>
+            <porous_medium>
+                <porous_medium id="0">
+                    <permeability>
+                        <type>Constant</type>
+                        <permeability_tensor_entries>kappa</permeability_tensor_entries>
+                    </permeability>
+                    <porosity>
+                        <type>Constant</type>
+                        <porosity_parameter>porosity</porosity_parameter>
+                    </porosity>
+                    <storage>
+                        <type>Constant</type>
+                        <value>0.0</value>
+                    </storage>
+                </porous_medium>
+            </porous_medium>
+            <fluid_reference_density>rho_fluid</fluid_reference_density>
+            <retardation_factor>retardation</retardation_factor>
+            <decay_rate>decay</decay_rate>
+            <specific_body_force>0 0</specific_body_force>
+            <secondary_variables>
+                <secondary_variable type="static" internal_name="darcy_velocity" output_name="darcy_velocity"/>
+            </secondary_variables>
+        </process>
+    </processes>
+    <media>
+        <medium id="0">
+            <phases>
+                <phase>
+                    <type>AqueousLiquid</type>
+                    <components>
+                        <component>
+                            <name>H</name>
+                            <properties>
+                                <property>
+                                    <name>molecular_diffusion</name>
+                                    <type>Constant</type>
+                                    <value>1e-7</value>
+                                </property>
+                            </properties>
+                        </component>
+                        <component>
+                            <name>Synthetica</name>
+                            <properties>
+                                <property>
+                                    <name>molecular_diffusion</name>
+                                    <type>Constant</type>
+                                    <value>1e-7</value>
+                                </property>
+                            </properties>
+                        </component>
+                        <component>
+                            <name>Syntheticb</name>
+                            <properties>
+                                <property>
+                                    <name>molecular_diffusion</name>
+                                    <type>Constant</type>
+                                    <value>1e-7</value>
+                                </property>
+                            </properties>
+                        </component>
+                    </components>
+                </phase>
+            </phases>
+            <properties>
+                <property>
+                    <name>longitudinal_dispersivity</name>
+                    <type>Constant</type>
+                    <value>0</value>
+                </property>
+                <property>
+                    <name>transversal_dispersivity</name>
+                    <type>Constant</type>
+                    <value>0</value>
+                </property>
+            </properties>
+        </medium>
+    </media>
+    <time_loop>
+        <global_process_coupling>
+            <max_iter>6</max_iter>
+            <convergence_criteria>
+                <!-- convergence criterion for the first process (P) -->
+                <convergence_criterion>
+                    <type>DeltaX</type>
+                    <norm_type>NORM2</norm_type>
+                    <reltol>1e-14</reltol>
+                </convergence_criterion>
+                <!-- convergence criterion for the second process (H) -->
+                <convergence_criterion>
+                    <type>DeltaX</type>
+                    <norm_type>NORM2</norm_type>
+                    <reltol>1e-14</reltol>
+                </convergence_criterion>
+                <!-- convergence criterion for the second process (Synthetica) -->
+                <convergence_criterion>
+                    <type>DeltaX</type>
+                    <norm_type>NORM2</norm_type>
+                    <reltol>1e-14</reltol>
+                </convergence_criterion>
+                <!-- convergence criterion for the second process (Syntheticb) -->
+                <convergence_criterion>
+                    <type>DeltaX</type>
+                    <norm_type>NORM2</norm_type>
+                    <reltol>1e-14</reltol>
+                </convergence_criterion>
+            </convergence_criteria>
+        </global_process_coupling>
+        <processes>
+            <!-- convergence criterion for hydraulic equation -->
+            <process ref="hc">
+                <nonlinear_solver>basic_picard</nonlinear_solver>
+                <convergence_criterion>
+                    <type>DeltaX</type>
+                    <norm_type>NORM2</norm_type>
+                    <reltol>1e-14</reltol>
+                </convergence_criterion>
+                <time_discretization>
+                    <type>BackwardEuler</type>
+                </time_discretization>
+                <time_stepping>
+                    <type>FixedTimeStepping</type>
+                    <t_initial>0.0</t_initial>
+                    <t_end>21000</t_end>
+                    <timesteps>
+                        <pair>
+                            <repeat>210</repeat>
+                            <delta_t>100</delta_t>
+                        </pair>
+                    </timesteps>
+                </time_stepping>
+            </process>
+            <!-- convergence criterion for component transport equation (H) -->
+            <process ref="hc">
+                <nonlinear_solver>basic_picard</nonlinear_solver>
+                <convergence_criterion>
+                    <type>DeltaX</type>
+                    <norm_type>NORM2</norm_type>
+                    <reltol>1e-14</reltol>
+                </convergence_criterion>
+                <time_discretization>
+                    <type>BackwardEuler</type>
+                </time_discretization>
+                <time_stepping>
+                    <type>FixedTimeStepping</type>
+                    <t_initial>0.0</t_initial>
+                    <t_end>21000</t_end>
+                    <timesteps>
+                        <pair>
+                            <repeat>210</repeat>
+                            <delta_t>100</delta_t>
+                        </pair>
+                    </timesteps>
+                </time_stepping>
+            </process>
+            <!-- convergence criterion for component transport equation (Synthetica) -->
+            <process ref="hc">
+                <nonlinear_solver>basic_picard</nonlinear_solver>
+                <convergence_criterion>
+                    <type>DeltaX</type>
+                    <norm_type>NORM2</norm_type>
+                    <reltol>1e-14</reltol>
+                </convergence_criterion>
+                <time_discretization>
+                    <type>BackwardEuler</type>
+                </time_discretization>
+                <time_stepping>
+                    <type>FixedTimeStepping</type>
+                    <t_initial>0.0</t_initial>
+                    <t_end>21000</t_end>
+                    <timesteps>
+                        <pair>
+                            <repeat>210</repeat>
+                            <delta_t>100</delta_t>
+                        </pair>
+                    </timesteps>
+                </time_stepping>
+            </process>
+            <!-- convergence criterion for component transport equation (Syntheticb) -->
+            <process ref="hc">
+                <nonlinear_solver>basic_picard</nonlinear_solver>
+                <convergence_criterion>
+                    <type>DeltaX</type>
+                    <norm_type>NORM2</norm_type>
+                    <reltol>1e-14</reltol>
+                </convergence_criterion>
+                <time_discretization>
+                    <type>BackwardEuler</type>
+                </time_discretization>
+                <time_stepping>
+                    <type>FixedTimeStepping</type>
+                    <t_initial>0.0</t_initial>
+                    <t_end>21000</t_end>
+                    <timesteps>
+                        <pair>
+                            <repeat>210</repeat>
+                            <delta_t>100</delta_t>
+                        </pair>
+                    </timesteps>
+                </time_stepping>
+            </process>
+       </processes>
+        <output>
+            <type>VTK</type>
+            <prefix>1d_isofrac_flag_formula</prefix>
+            <timesteps>
+                <pair>
+                    <repeat>5</repeat>
+                    <each_steps>42</each_steps>
+                </pair>
+            </timesteps>
+            <variables>
+                <variable>H</variable>
+                <variable>Synthetica</variable>
+                <variable>Syntheticb</variable>
+                <variable>pressure</variable>
+                <variable>darcy_velocity</variable>
+            </variables>
+        </output>
+    </time_loop>
+    <chemical_system chemical_solver="Phreeqc">
+        <database>revised_llnl.dat</database>
+        <solution>
+            <temperature>25</temperature>
+            <pressure>1</pressure>
+            <pe>4</pe>
+            <components>
+                <component>Synthetica</component>
+                <component>Syntheticb</component>
+            </components>
+        </solution>
+        <kinetic_reactants>
+            <kinetic_reactant>
+                <name>Productd</name>
+                <chemical_formula>SyntheticaSyntheticb 1</chemical_formula>
+                <initial_amount>1e-6</initial_amount>
+            </kinetic_reactant>
+        </kinetic_reactants>
+        <rates>
+            <rate>
+                <kinetic_reactant>Productd</kinetic_reactant>
+                <expression>
+                    <statement>Km = 10</statement>
+                    <statement>U = 1e-3</statement>
+                    <statement>rate = U * TOT("Synthetica") / (Km + TOT("Syntheticb"))</statement>
+                    <statement>moles = - rate * TIME</statement>
+                    <statement>save moles</statement>
+                </expression>
+            </rate>
+        </rates>
+    </chemical_system>
+    <parameters>
+        <parameter>
+            <name>kappa</name>
+            <type>Constant</type>
+            <values>1.157e-12</values>
+        </parameter>
+        <parameter>
+            <name>porosity</name>
+            <type>Constant</type>
+            <value>1</value>
+        </parameter>
+        <parameter>
+            <name>rho_fluid</name>
+            <type>Constant</type>
+            <value>1000</value>
+        </parameter>
+        <parameter>
+            <name>retardation</name>
+            <type>Constant</type>
+            <value>1</value>
+        </parameter>
+        <parameter>
+            <name>decay</name>
+            <type>Constant</type>
+            <value>0</value>
+        </parameter>
+        <parameter>
+            <name>p0</name>
+            <type>Constant</type>
+            <value>1</value>
+        </parameter>
+        <parameter>
+            <name>p_upstream</name>
+            <type>Constant</type>
+            <value>1e5</value>
+        </parameter>
+        <parameter>
+            <name>p_downstream_Neumann</name>
+            <type>Constant</type>
+            <value>-1.685e-2</value>
+        </parameter>
+        <parameter>
+            <name>c0_H</name>
+            <type>Constant</type>
+            <!--pH=7-->
+            <value>1e-7</value>
+        </parameter>
+        <parameter>
+            <name>c0_Synthetica</name>
+            <type>Constant</type>
+            <value>0</value>
+        </parameter>
+        <parameter>
+            <name>c0_Syntheticb</name>
+            <type>Constant</type>
+            <value>0</value>
+        </parameter>
+        <parameter>
+            <name>c_H</name>
+            <type>Constant</type>
+            <!--pH=7-->
+            <value>1e-7</value>
+        </parameter>
+        <parameter>
+            <name>c_Synthetica</name>
+            <type>Constant</type>
+            <value>0.5</value>
+        </parameter>
+        <parameter>
+            <name>c_Syntheticb</name>
+            <type>Constant</type>
+            <value>0.5</value>
+        </parameter>
+    </parameters>
+    <process_variables>
+        <process_variable>
+            <name>pressure</name>
+            <components>1</components>
+            <order>1</order>
+            <initial_condition>p0</initial_condition>
+            <boundary_conditions>
+                <boundary_condition>
+                    <geometrical_set>geometry</geometrical_set>
+                    <geometry>upstream</geometry>
+                    <type>Dirichlet</type>
+                    <parameter>p_upstream</parameter>
+                </boundary_condition>
+                <boundary_condition>
+                    <geometrical_set>geometry</geometrical_set>
+                    <geometry>downstream</geometry>
+                    <type>Neumann</type>
+                    <parameter>p_downstream_Neumann</parameter>
+                </boundary_condition>
+            </boundary_conditions>
+        </process_variable>
+        <process_variable>
+            <name>H</name>
+            <components>1</components>
+            <order>1</order>
+            <initial_condition>c0_H</initial_condition>
+            <boundary_conditions>
+                <boundary_condition>
+                    <geometrical_set>geometry</geometrical_set>
+                    <geometry>upstream</geometry>
+                    <type>Dirichlet</type>
+                    <parameter>c_H</parameter>
+                </boundary_condition>
+            </boundary_conditions>
+        </process_variable>
+        <process_variable>
+            <name>Synthetica</name>
+            <components>1</components>
+            <order>1</order>
+            <initial_condition>c0_Synthetica</initial_condition>
+            <boundary_conditions>
+                <boundary_condition>
+                    <geometrical_set>geometry</geometrical_set>
+                    <geometry>upstream</geometry>
+                    <type>Dirichlet</type>
+                    <parameter>c_Synthetica</parameter>
+                </boundary_condition>
+            </boundary_conditions>
+        </process_variable>
+        <process_variable>
+            <name>Syntheticb</name>
+            <components>1</components>
+            <order>1</order>
+            <initial_condition>c0_Syntheticb</initial_condition>
+            <boundary_conditions>
+                <boundary_condition>
+                    <geometrical_set>geometry</geometrical_set>
+                    <geometry>upstream</geometry>
+                    <type>Dirichlet</type>
+                    <parameter>c_Syntheticb</parameter>
+                </boundary_condition>
+            </boundary_conditions>
+        </process_variable>
+   </process_variables>
+    <nonlinear_solvers>
+        <nonlinear_solver>
+            <name>basic_picard</name>
+            <type>Picard</type>
+            <max_iter>10</max_iter>
+            <linear_solver>general_linear_solver</linear_solver>
+        </nonlinear_solver>
+    </nonlinear_solvers>
+    <linear_solvers>
+        <linear_solver>
+            <name>general_linear_solver</name>
+            <lis>-i cg -p jacobi -tol 1e-16 -maxiter 20000</lis>
+            <eigen>
+                <solver_type>BiCGSTAB</solver_type>
+                <precon_type>ILUT</precon_type>
+                <max_iteration_step>10000</max_iteration_step>
+                <error_tolerance>1e-14</error_tolerance>
+            </eigen>
+            <petsc>
+                <prefix>hc</prefix>
+                <parameters>-hc_ksp_type bcgs -hc_pc_type bjacobi -hc_ksp_rtol 1e-8 -hc_ksp_max_it 20000</parameters>
+            </petsc>
+        </linear_solver>
+    </linear_solvers>
+</OpenGeoSysProject>