diff --git a/2_difspot/gtSetupSegmentation.m b/2_difspot/gtSetupSegmentation.m
index 45dda432a840f33f168762bce24c03a51e0a248d..699efe2f87aebe5faa1c0dc49a14f6ee68a793b3 100644
--- a/2_difspot/gtSetupSegmentation.m
+++ b/2_difspot/gtSetupSegmentation.m
@@ -50,13 +50,12 @@ function gtSetupSegmentation()
 
 parameters = [];
 load('parameters.mat');
+parameters_name = fullfile(parameters.acq.dir, 'parameters.mat');
 
 disp(' ')
 gtDBConnect();
 disp(' ')
 
-parameters_name = fullfile(parameters.acq.dir, 'parameters.mat');
-
 % get the seg.bbox if it exists, or guess it from acq.bb
 if ~isfield(parameters.seg, 'bbox') || isempty(parameters.seg.bbox)
     disp('Segmentation bounding box is not defined. Setting it equal to')
@@ -64,6 +63,10 @@ if ~isfield(parameters.seg, 'bbox') || isempty(parameters.seg.bbox)
     parameters.seg.bbox = parameters.acq.bb;
 end
 
+% Let's check every field is in, and in case let's update it!
+parameters.('seg') = gtCheckParameters(parameters.('seg'), gtSegDefaultParameters());
+save(parameters_name, 'parameters')
+
 
 % set default for subtraction of median background
 parameters.seg.background_subtract = true;
diff --git a/2_difspot/gtSetupSegmentation_doublethr.m b/2_difspot/gtSetupSegmentation_doublethr.m
index d20ad41f9da6d8e06302416c6547e464384accf4..a5f04bda68e0794c7cddaa6c22cb4d46a37c3ee5 100644
--- a/2_difspot/gtSetupSegmentation_doublethr.m
+++ b/2_difspot/gtSetupSegmentation_doublethr.m
@@ -99,10 +99,16 @@ disp('! Note that what is displayed here is 2D thresholding, and the real routin
 disp(' ')
 pause(1)
 
-parameters=[];
-load('parameters.mat');
+% Needed to avoid "static workspace assignment" error
+parameters = load('parameters.mat');
+parameters = parameters.parameters;
 parameters_name = fullfile(parameters.acq.dir,'parameters.mat');
 
+% Let's check every field is in, and in case let's update it!
+parameters.('seg') = gtCheckParameters(parameters.('seg'), gtSegDefaultParameters());
+save(parameters_name, 'parameters')
+
+
 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 % recompile binaries - not often needed.  But more often than it should be...
 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
diff --git a/zUtil_Indexter/gtSetupIndexing.m b/zUtil_Indexter/gtSetupIndexing.m
index 5ecd298531c1dfa101059dfc7dddce19ed1f9313..805e498555fc2bebb29cbc387f576dd38d8db0de 100644
--- a/zUtil_Indexter/gtSetupIndexing.m
+++ b/zUtil_Indexter/gtSetupIndexing.m
@@ -6,6 +6,11 @@ function gtSetupIndexing()
 parameters = [];
 load('parameters.mat');
 
+% Let's check every field is in, and in case let's update it!
+parameters.('index') = gtCheckParameters(parameters.('index'), gtIndexDefaultParameters());
+parameters.('index').('strategy') = gtCheckParameters(parameters.('index').('strategy'), gtIndexDefaultStrategy());
+
+save('parameters.mat', 'parameters');
 
 % Use default parameters or review/edit them?
 check = inputwdefault('Use existing parameters for phase #1 for gtINDEXTER? [y/n]', 'y');
diff --git a/zUtil_Parameters/gtCheckParameters.m b/zUtil_Parameters/gtCheckParameters.m
index fc34647cbbf192dd0f9c3366140274a23b3295a9..be4b50bb6b4b39e6223ba6412fb49386532d3280 100644
--- a/zUtil_Parameters/gtCheckParameters.m
+++ b/zUtil_Parameters/gtCheckParameters.m
@@ -8,7 +8,20 @@ function param_section = gtCheckParameters(param_section, default_section)
 
     for ii = 1:length(missing_names)
         name = missing_names{ii};
-        warning('gtCheckParameters:missin_param', 'Parameter "%s" missing.', name)
+        warning('gtCheckParameters:missin_param', ...
+            'Parameter "%s" missing.', name)
         param_section.(name) = default_section.(name);
     end
+
+    % now let's see if some parameters are just useless
+    sec_names = fieldnames(param_section);
+    checks = ~isfield(default_names, param_section);
+    exceding = sec_names(checks);
+
+    for ii = 1:length(exceding)
+        name = exceding{ii};
+        warning('gtCheckParameters:unused_param', ...
+            'Parameter "%s" is not defined in the defaults: it may be useless', ...
+            name)
+    end
 end