diff --git a/matlab/TCV_IMAS/tcv_get_ids_core_profiles.m b/matlab/TCV_IMAS/tcv_get_ids_core_profiles.m
index 97bf2f0bc49767a019d36c38d35c0c5cf05c0ba7..9a324913e84de31b99a282741473ae1316ad3ff6 100644
--- a/matlab/TCV_IMAS/tcv_get_ids_core_profiles.m
+++ b/matlab/TCV_IMAS/tcv_get_ids_core_profiles.m
@@ -252,7 +252,7 @@ for it=1:length(ids_core_profiles.time)
   ids_core_profiles.profiles_1d{it}.pressure_ion_total = 1.6022e-19 .* ids_core_profiles.profiles_1d{it}.n_i_thermal_total ...
       .* ids_core_profiles.profiles_1d{it}.t_i_average;
   ids_core_profiles.profiles_1d{it}.pressure_thermal = ids_core_profiles.profiles_1d{it}.pressure_ion_total ...
-      + ids_core_profiles.profiles_1d{it}.electrons.pressure_thermal;  
+      + ids_core_profiles.profiles_1d{it}.electrons.pressure_thermal;
 end
 if ~isempty(temp_1d.cxrs_rho.ti.fit.data)
   it_raw = iround_os(temp_1d.ti.raw.t,ids_core_profiles.time);
@@ -289,6 +289,8 @@ for it=1:length(ids_core_profiles.time)
 end
 
 % cocos automatic transform
-cocos_in=17;
-cocos_out=11;
-[ids_core_profiles,cocoscoeff]=ids_generic_cocos_nodes_transformation_symbolic(ids_core_profiles,'core_profiles',cocos_in,cocos_out);
+if exist('ids_generic_cocos_nodes_transformation_symbolic') == 2
+  cocos_in=17;
+  cocos_out=11;
+  [ids_core_profiles,cocoscoeff]=ids_generic_cocos_nodes_transformation_symbolic(ids_core_profiles,'core_profiles',cocos_in,cocos_out);
+end
diff --git a/matlab/TCV_IMAS/tcv_get_ids_ec_antennas.m b/matlab/TCV_IMAS/tcv_get_ids_ec_antennas.m
index a9fde774e11d3586e0b0c054e99af1f42dda89f9..6b439d32b42dba3d7b68dda0ca37eac28b47a4ae 100644
--- a/matlab/TCV_IMAS/tcv_get_ids_ec_antennas.m
+++ b/matlab/TCV_IMAS/tcv_get_ids_ec_antennas.m
@@ -76,6 +76,8 @@ for iant=1:nb_antennas
 end
 
 % cocos automatic transform
-cocos_in=17;
-cocos_out=11;
-[ids_ec_antennas,cocoscoeff]=ids_generic_cocos_nodes_transformation_symbolic(ids_ec_antennas,'ec_antennas',cocos_in,cocos_out);
+if exist('ids_generic_cocos_nodes_transformation_symbolic') == 2
+  cocos_in=17;
+  cocos_out=11;
+  [ids_ec_antennas,cocoscoeff]=ids_generic_cocos_nodes_transformation_symbolic(ids_ec_antennas,'ec_antennas',cocos_in,cocos_out);
+end
diff --git a/matlab/TCV_IMAS/tcv_get_ids_equilibrium.m b/matlab/TCV_IMAS/tcv_get_ids_equilibrium.m
index 1a129def4147d91a79db7fd928d5ad79e3fd5ee7..4f7dba055907de824522b73f399d868dca35da7a 100644
--- a/matlab/TCV_IMAS/tcv_get_ids_equilibrium.m
+++ b/matlab/TCV_IMAS/tcv_get_ids_equilibrium.m
@@ -374,6 +374,8 @@ for it=1:numel(ids_equilibrium.time_slice)
 end
 
 % cocos automatic transform
-cocos_in=17;
-cocos_out=11;
-[ids_equilibrium,cocoscoeff]=ids_generic_cocos_nodes_transformation_symbolic(ids_equilibrium,'equilibrium',cocos_in,cocos_out);
+if exist('ids_generic_cocos_nodes_transformation_symbolic') == 2
+  cocos_in=17;
+  cocos_out=11;
+  [ids_equilibrium,cocoscoeff]=ids_generic_cocos_nodes_transformation_symbolic(ids_equilibrium,'equilibrium',cocos_in,cocos_out);
+end
diff --git a/matlab/TCV_IMAS/tcv_get_ids_magnetics.m b/matlab/TCV_IMAS/tcv_get_ids_magnetics.m
index 202b3540b1cfcf4590ead8968c6d5f4d8e8e1bf9..c4ce146915ab719099691f7cdb3aeccc905759d0 100644
--- a/matlab/TCV_IMAS/tcv_get_ids_magnetics.m
+++ b/matlab/TCV_IMAS/tcv_get_ids_magnetics.m
@@ -14,6 +14,8 @@ function [ids_magnetics,ids_magnetics_description,varargout] = tcv_get_ids_magne
 % make arrays not filled in empty: not the case for magnetics
 
 % cocos automatic transform
-cocos_in=17;
-cocos_out=11;
-[ids_magnetics,cocoscoeff]=ids_generic_cocos_nodes_transformation_symbolic(ids_magnetics,'magnetics',cocos_in,cocos_out);
+if exist('ids_generic_cocos_nodes_transformation_symbolic') == 2
+  cocos_in=17;
+  cocos_out=11;
+  [ids_magnetics,cocoscoeff]=ids_generic_cocos_nodes_transformation_symbolic(ids_magnetics,'magnetics',cocos_in,cocos_out);
+end
diff --git a/matlab/TCV_IMAS/tcv_get_ids_nbi.m b/matlab/TCV_IMAS/tcv_get_ids_nbi.m
index efbd0c7f17b8478f2566b86bd34e3857f2338f27..25aa68cbfde0acf6b73250ae653a0e17b7b630ac 100644
--- a/matlab/TCV_IMAS/tcv_get_ids_nbi.m
+++ b/matlab/TCV_IMAS/tcv_get_ids_nbi.m
@@ -117,7 +117,8 @@ end
 
 
 % cocos automatic transform
-cocos_in=17;
-cocos_out=11;
-[ids_nbi2,cocoscoeff]=ids_generic_cocos_nodes_transformation_symbolic(ids_nbi,'nbi',cocos_in,cocos_out);
-
+if exist('ids_generic_cocos_nodes_transformation_symbolic') == 2
+  cocos_in=17;
+  cocos_out=11;
+  [ids_nbi,cocoscoeff]=ids_generic_cocos_nodes_transformation_symbolic(ids_nbi,'nbi',cocos_in,cocos_out);
+end
diff --git a/matlab/TCV_IMAS/tcv_get_ids_pf_active.m b/matlab/TCV_IMAS/tcv_get_ids_pf_active.m
index 1d3fa00d8c50dd505360c1449ed2f9c75e3b83c3..35f6bcc06d4474a4388296e6ed4c55dafa4a8de4 100644
--- a/matlab/TCV_IMAS/tcv_get_ids_pf_active.m
+++ b/matlab/TCV_IMAS/tcv_get_ids_pf_active.m
@@ -15,6 +15,8 @@ function [ids_pf_active,ids_pf_active_description,varargout] = tcv_get_ids_pf_ac
 ids_pf_active.vertical_force = {};
 
 % cocos automatic transform
-cocos_in=17;
-cocos_out=11;
-[ids_pf_active,cocoscoeff]=ids_generic_cocos_nodes_transformation_symbolic(ids_pf_active,'pf_active',cocos_in,cocos_out);
+if exist('ids_generic_cocos_nodes_transformation_symbolic') == 2
+  cocos_in=17;
+  cocos_out=11;
+  [ids_pf_active,cocoscoeff]=ids_generic_cocos_nodes_transformation_symbolic(ids_pf_active,'pf_active',cocos_in,cocos_out);
+end
diff --git a/matlab/TCV_IMAS/tcv_get_ids_tf.m b/matlab/TCV_IMAS/tcv_get_ids_tf.m
index 9f281b6e0e17dae8578700be653489d98a94b4af..a25c054870685ca47d2d38befd016c2988a3d9bd 100644
--- a/matlab/TCV_IMAS/tcv_get_ids_tf.m
+++ b/matlab/TCV_IMAS/tcv_get_ids_tf.m
@@ -1,6 +1,6 @@
-function [ids_tf_out,ids_tf_out_description] =  tcv_get_ids_tf(shot, ids_tf_empty, gdat_params,varargin)
+function [ids_tf,ids_tf_description] =  tcv_get_ids_tf(shot, ids_tf_empty, gdat_params,varargin)
 %
-% [ids_tf_out] =  tcv_get_ids_tf(shot, ids_tf_empty,varargin);
+% [ids_tf] =  tcv_get_ids_tf(shot, ids_tf_empty,varargin);
 %
 % Get the vacuum toroidal field
 %
@@ -9,28 +9,29 @@ function [ids_tf_out,ids_tf_out_description] =  tcv_get_ids_tf(shot, ids_tf_empt
 % gdat_params: gdat_data.gdat_params to get all params passed from original call, in particular error_bar options
 %
 
-ids_tf_out = ids_tf_empty;
+ids_tf = ids_tf_empty;
 
-[ids_tf_out, params_tf] = tcv_ids_headpart(shot, ids_tf_empty,'tf','homogeneous_time',0,varargin{:});
+[ids_tf, params_tf] = tcv_ids_headpart(shot, ids_tf_empty,'tf','homogeneous_time',0,varargin{:});
 
 tmp = gdat_tcv(shot, 'b0');
 if ~ischar(tmp.data)
-  ids_tf_out.b_field_tor_vacuum_r.data = tmp.data; 
-  ids_tf_out.b_field_tor_vacuum_r.time = tmp.t;
-  ids_tf_out.r0 = tmp.r0;
-  ids_tf_out_description.b_field_tor_vacuum_r.data = ' gdat_tcv(shot, ''b0'')';
-  ids_tf_out_description.r0 = ' b0.r0 from gdat_tcv(shot, ''b0'')';
+  ids_tf.b_field_tor_vacuum_r.data = tmp.data;
+  ids_tf.b_field_tor_vacuum_r.time = tmp.t;
+  ids_tf.r0 = tmp.r0;
+  ids_tf_description.b_field_tor_vacuum_r.data = ' gdat_tcv(shot, ''b0'')';
+  ids_tf_description.r0 = ' b0.r0 from gdat_tcv(shot, ''b0'')';
 else
   % leave defaults
-  ids_tf_out_description = struct([]);
+  ids_tf_description = struct([]);
 end
 
 % make arrays not filled in empty: not the case for magnetics
-ids_tf_out.coil = {};
-ids_tf_out.field_map = {};
+ids_tf.coil = {};
+ids_tf.field_map = {};
 
 % cocos automatic transform
-cocos_in=17;
-cocos_out=11;
-[ids_tf_out,cocoscoeff]=ids_generic_cocos_nodes_transformation_symbolic(ids_tf_out,'tf',cocos_in,cocos_out);
-
+if exist('ids_generic_cocos_nodes_transformation_symbolic') == 2
+  cocos_in=17;
+  cocos_out=11;
+  [ids_tf,cocoscoeff]=ids_generic_cocos_nodes_transformation_symbolic(ids_tf,'tf',cocos_in,cocos_out);
+end
diff --git a/matlab/TCV_IMAS/tcv_get_ids_wall.m b/matlab/TCV_IMAS/tcv_get_ids_wall.m
index 069dbf02065f9c6ddd0cae2f2e3ca9005e300227..27407ded9fec63ffad95b7aa80a7665092ac223f 100644
--- a/matlab/TCV_IMAS/tcv_get_ids_wall.m
+++ b/matlab/TCV_IMAS/tcv_get_ids_wall.m
@@ -16,11 +16,13 @@ ids_wall.description_ggd = {};
 ids_wall.description_2d{1}.mobile.unit = {};
 
 
-%% TODO 
+%% TODO
 ids_description = [];
 
 % cocos automatic transform
-cocos_in=17;
-cocos_out=11;
-% normally nothing to do
-[ids_wall,cocoscoeff]=ids_generic_cocos_nodes_transformation_symbolic(ids_wall,'wall',cocos_in,cocos_out);
+if exist('ids_generic_cocos_nodes_transformation_symbolic') == 2
+  cocos_in=17;
+  cocos_out=11;
+  % normally nothing to do
+  [ids_wall,cocoscoeff]=ids_generic_cocos_nodes_transformation_symbolic(ids_wall,'wall',cocos_in,cocos_out);
+end
diff --git a/matlab/tests_matlab.m b/matlab/tests_matlab.m
index fc515894d7e4892f12073617fd4ae6aea4f2328a..9721f39d9b09219b6e0feb1b2f372d3d283b38a8 100644
--- a/matlab/tests_matlab.m
+++ b/matlab/tests_matlab.m
@@ -1,14 +1,18 @@
 function tests_matlab(test_case)
+%
 % function to call tests from test_script.sh
+% calls passed = run_gdat_tests(test_case);
+% and exits matlab
+%
 try
-   if verLessThan('matlab','8.5.0') 
+   if verLessThan('matlab','8.5.0')
     disp('gdat tests do not work for matlab version <8.5.0, skipping tests');
     passed = true;
    else
     fprintf('\n Running test file: %s\n',mfilename('fullpath'));
     fprintf('     Time: %s\n',datestr(now));
     passed = run_gdat_tests(test_case); % add a call to your test script here, with optional test_case input
-   end 
+   end
    exit_code = int32(~passed); % convert to bash shell convention
 catch ME
    disp(getReport(ME))