diff --git a/crpptbx/TCV/gdat_tcv.m b/crpptbx/TCV/gdat_tcv.m
index d0db6bdd68a0f884ca2a35e0781718969886214d..4fc8fe88fd0e1654f666a50e5b4ccb7cbce2dd8f 100644
--- a/crpptbx/TCV/gdat_tcv.m
+++ b/crpptbx/TCV/gdat_tcv.m
@@ -285,6 +285,11 @@ if do_mdsopen_mdsclose
   end
 end
 
+% fill again at end to have full case, but here to have present status in case of early return
+gdat_data.gdat_params.help = tcv_help_parameters(fieldnames(gdat_data.gdat_params));
+gdat_data.mapping_for.tcv = mapping_for_tcv;
+gdat_params = gdat_data.gdat_params;
+
 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 % 1st treat the simplest method: "tdi" (and tdiliuqe)
 if strcmp(mapping_for_tcv.method(1:3),'tdi')
@@ -605,8 +610,28 @@ elseif strcmp(mapping_for_tcv.method,'switchcase')
     cxrs_params.k_plot = cxrs_plot;
     cxrs_profiles = CXRS_get_profiles(shot,[1 2 3],time_interval,cxrs_params);
     inb_times = length(cxrs_profiles.Times);
+    gdat_data.cxrs_params = cxrs_profiles.param;
     if isempty(cxrs_profiles.Times) || ~isfield(cxrs_profiles,'proffit')
       if (gdat_params.nverbose>=1); warning(['problems loading data with CXRS_get_profiles for data_request= ' data_request_eff]); end
+      for i=1:length(sub_nodes)
+        sub_eff_out = sub_nodes_out{i};
+        gdat_data.(sub_eff_out).fit.data = [];
+        gdat_data.(sub_eff_out).fit.rho = [];
+        gdat_data.(sub_eff_out).fit.error_bar = [];
+        gdat_data.(sub_eff_out).raw.data = [];
+        gdat_data.(sub_eff_out).raw.rho = [];
+        gdat_data.(sub_eff_out).raw.error_bar = [];
+        gdat_data.(sub_eff_out).raw.error_bar_rho = [];
+        gdat_data.(sub_eff_out).raw.cxrs_system = [];
+        gdat_data.time_interval = [];
+        gdat_data.(sub_eff_out).units = sub_nodes_units{i};
+        if i==1
+          gdat_data.data = gdat_data.(sub_eff_out).fit.data;
+          gdat_data.x = gdat_data.(sub_eff_out).fit.rho;
+          gdat_data.error_bar = gdat_data.(sub_eff_out).fit.error_bar;
+          gdat_data.units = gdat_data.(sub_eff_out).units;
+        end
+      end
       return
     end
     inb_channels =120; % need to change if gets bigger!!! but easier to prefill with NaNs and use the "use" part
@@ -649,7 +674,6 @@ elseif strcmp(mapping_for_tcv.method,'switchcase')
         gdat_data.units = gdat_data.(sub_eff_out).units;
       end
     end
-    gdat_data.cxrs_params = cxrs_profiles.param;
     gdat_data.t = cxrs_profiles.proffit.time;
     gdat_data.dim = {gdat_data.x; gdat_data.t};
     if isempty(time_interval)