diff --git a/matlab/TCV/gdat_tcv.m b/matlab/TCV/gdat_tcv.m
index c8a7ddbd9f9d403aed98163135b006cc338d7030..c9b6bef82eea33766dde352690bac3ad4c3cf6b0 100644
--- a/matlab/TCV/gdat_tcv.m
+++ b/matlab/TCV/gdat_tcv.m
@@ -947,10 +947,6 @@ elseif strcmp(mapping_for_tcv.method,'switchcase')
     sub_nodes = {'Ti','vTor','vPol','nC','Zeff'}; % first node is also copied into data, choose "default' one
     sub_nodes_out = lower({'Ti','vTor','vPol','ni','Zeff'}); %
     sub_nodes_units = {'eV','m/s','m/s','m^{-3}',''}; % first node is also copied into data, choose "default' one
-    % use A. Karpushov routine to get profiles and then copy the data or the fitted profiles
-    aa=CXRS_get_profiles; cxrs_params = aa.param;
-    gdat_data.cxrs_params.defaults = cxrs_params;
-    cxrs_params.k_plot=0; cxrs_params.k_debug=0;
     % add params from gdat call
     params_eff = gdat_data.gdat_params;
     if isfield(params_eff,'cxrs_plot') && params_eff.cxrs_plot>0
@@ -964,6 +960,11 @@ elseif strcmp(mapping_for_tcv.method,'switchcase')
       source = [1 2 3];
     end
     gdat_data.gdat_params.source = source;
+    % use A. Karpushov routine to get profiles and then copy the data or the fitted profiles
+    aa=CXRS_get_profiles([],gdat_data.gdat_params.source); cxrs_params = aa.param; % get default params with sys defined
+    gdat_data.cxrs_params.defaults = cxrs_params;
+    cxrs_params.k_plot=0; cxrs_params.k_debug=0;
+
     if isfield(params_eff,'cxrs_time_interval') && ~isempty(params_eff.cxrs_time_interval) && length(params_eff.cxrs_time_interval)>=2
       cxrs_time_interval = params_eff.cxrs_time_interval;
       if ~isfield(params_eff,'cxrs_plot')