diff --git a/crpptbx/TCV_IMAS/get_ids_equilibrium_fixed_boundary.m b/crpptbx/TCV_IMAS/get_ids_equilibrium_fixed_boundary.m
index e6868de889a812184de6286b5d108e33ae5144b6..2f10dbc8bb18603c5e95b859a1ad9fc04560aed7 100644
--- a/crpptbx/TCV_IMAS/get_ids_equilibrium_fixed_boundary.m
+++ b/crpptbx/TCV_IMAS/get_ids_equilibrium_fixed_boundary.m
@@ -231,7 +231,7 @@ profiles_1d.dpressure_dpsi = gdat(params_equilibrium.shot,'pprime');
 % dvolume_dpsi = gdat(params_equilibrium.shot,'dvolume_dpsi');
 % dvolume_drho_tor = gdat(params_equilibrium.shot,'dvolume_drho_tor');
 % elongation = gdat(params_equilibrium.shot,'elongation');
-profiles_1d.f_df_dpsi = gdat(params_equilibrium.shot,'ffprime');
+profiles_1d.f_df_dpsi = gdat(params_equilibrium.shot,'ttprime');
 profiles_1d.f = gdat(params_equilibrium.shot,'rbphi_rho');
 % geometric_axis = gdat(params_equilibrium.shot,'geometric_axis');
 % gm1 = gdat(params_equilibrium.shot,'gm1');
@@ -272,8 +272,11 @@ for it=1:length(ids_equilibrium.time)
   for i=1:length(profiles_1d_fieldnames)
     if ~any(strcmp(profiles_1d_fieldnames{i},special_fields))
       if ~isstruct(ids_equilibrium.time_slice{it}.profiles_1d.(profiles_1d_fieldnames{i}))
-        ids_equilibrium.time_slice{it}.profiles_1d.(profiles_1d_fieldnames{i}) = ...
-            profiles_1d.(profiles_1d_fieldnames{i}).data(:,it);
+        if ~ischar(profiles_1d.(profiles_1d_fieldnames{i}).data) && ~isempty(profiles_1d.(profiles_1d_fieldnames{i}).data) ...
+              && size(profiles_1d.(profiles_1d_fieldnames{i}).data,2)>=it
+          ids_equilibrium.time_slice{it}.profiles_1d.(profiles_1d_fieldnames{i}) = ...
+              profiles_1d.(profiles_1d_fieldnames{i}).data(:,it);
+        end
       else
         special_fields{end+1} = profiles_1d_fieldnames{i};
       end
@@ -287,8 +290,7 @@ ntime = length(temp.psi_axis.data);
 for it=1:length(ids_equilibrium.time)
   ids_equilibrium.time_slice{it}.profiles_1d.rho_tor_norm = ids_equilibrium.time_slice{it}.profiles_1d.rho_tor./ ...
       ids_equilibrium.time_slice{it}.profiles_1d.rho_tor(end);
-  ids_equilibrium.time_slice{it}.profiles_1d.psi = ...
-      reshape(1-profiles_1d.rho_tor.x.^2,nrho,1)*reshape(temp.psi_axis.data,1,ntime) + ...
-      ones(nrho,1)*reshape(global_quantities.psi_boundary.data,1,ntime);
+  ids_equilibrium.time_slice{it}.profiles_1d.psi = (1-profiles_1d.rho_tor.x.^2).*temp.psi_axis.data(it) + ...
+      global_quantities.psi_boundary.data(it);
 end