diff --git a/include/gnss/processor/processor_gnss_tdcp.h b/include/gnss/processor/processor_gnss_tdcp.h
index c176ac6518f52001bef2e6212f2903fd0b66e9b5..13291adca12eb9f5d49d8a49e2636f82085bc8c4 100644
--- a/include/gnss/processor/processor_gnss_tdcp.h
+++ b/include/gnss/processor/processor_gnss_tdcp.h
@@ -31,7 +31,8 @@ struct ParamsProcessorGnssTdcp : public ParamsProcessorGnssFix
     {
         tdcp.min_common_sats    = _server.getParam<double>(prefix + _unique_name + "/tdcp/min_common_sats");
         tdcp.raim_n             = _server.getParam<double>(prefix + _unique_name + "/tdcp/raim_n");
-        tdcp.raim_min_residual  = _server.getParam<double>(prefix + _unique_name + "/tdcp/raim_min_residual");
+        tdcp.max_residual       = _server.getParam<double>(prefix + _unique_name + "/tdcp/max_residual");
+        tdcp.residual_opt       = _server.getParam<int>   (prefix + _unique_name + "/tdcp/residual_opt");
         tdcp.tdcp.sigma_atm     = _server.getParam<double>(prefix + _unique_name + "/tdcp/sigma_atm");
         tdcp.tdcp.sigma_carrier = _server.getParam<double>(prefix + _unique_name + "/tdcp/sigma_carrier");
         tdcp.tdcp.time_window   = _server.getParam<double>(prefix + _unique_name + "/tdcp/time_window");
@@ -49,7 +50,8 @@ struct ParamsProcessorGnssTdcp : public ParamsProcessorGnssFix
         return "\n" + ParamsProcessorBase::print()                               + "\n"
             + "tdcp/min_common_sats: "  + std::to_string(tdcp.min_common_sats)   + "\n"
             + "tdcp/raim_n: "           + std::to_string(tdcp.raim_n)            + "\n"
-            + "tdcp/raim_min_residual: "+ std::to_string(tdcp.raim_min_residual) + "\n"
+            + "tdcp/max_residual: "     + std::to_string(tdcp.max_residual)      + "\n"
+            + "tdcp/residual_opt: "     + std::to_string(tdcp.residual_opt)      + "\n"
             + "tdcp/sigma_atm: "        + std::to_string(tdcp.tdcp.sigma_atm)    + "\n"
             + "tdcp/sigma_carrier: "    + std::to_string(tdcp.tdcp.sigma_carrier)+ "\n"
             + "tdcp/time_window: "      + std::to_string(tdcp.tdcp.time_window)  + "\n";
diff --git a/include/gnss/processor/processor_tracker_gnss.h b/include/gnss/processor/processor_tracker_gnss.h
index ab710f73bb0b1a95461f035620ccdf0d42321a5e..2bfbfb3c1d7c0f1e2e921c89a70cffe98411f274 100644
--- a/include/gnss/processor/processor_tracker_gnss.h
+++ b/include/gnss/processor/processor_tracker_gnss.h
@@ -75,9 +75,10 @@ struct ParamsProcessorTrackerGnss : public ParamsProcessorTrackerFeature
             {
                 tdcp_batch_params.min_common_sats         = _server.getParam<int>       (prefix + _unique_name + "/gnss/tdcp/min_common_sats");
                 tdcp_batch_params.raim_n                  = _server.getParam<int>       (prefix + _unique_name + "/gnss/tdcp/raim_n");
-                tdcp_batch_params.raim_min_residual       = _server.getParam<double>    (prefix + _unique_name + "/gnss/tdcp/raim_min_residual");
+                tdcp_batch_params.max_residual            = _server.getParam<double>    (prefix + _unique_name + "/gnss/tdcp/max_residual");
                 tdcp_batch_params.relinearize_jacobian    = _server.getParam<bool>      (prefix + _unique_name + "/gnss/tdcp/relinearize_jacobian");
                 tdcp_batch_params.max_iterations          = _server.getParam<int>       (prefix + _unique_name + "/gnss/tdcp/max_iterations");
+                tdcp_batch_params.residual_opt            = _server.getParam<int>       (prefix + _unique_name + "/gnss/tdcp/residual_opt");
                 tdcp_batch_params.tdcp.multi_freq = gnss_opt.tdcp.multi_freq;
                 tdcp_batch_params.tdcp = gnss_opt.tdcp;
             }