diff --git a/crpptbx/TCV/loadTCVdata.m b/crpptbx/TCV/loadTCVdata.m
index b87b6c909575835b9fa75bd2a750b23a75068d1a..192d4d92a2df514cb717bf6048f065511bc2ddf3 100644
--- a/crpptbx/TCV/loadTCVdata.m
+++ b/crpptbx/TCV/loadTCVdata.m
@@ -678,16 +678,24 @@ switch TCVkeywrdcase{index}
     endstr
     psi_max=tdi(['\results::thomson.edge:psi_max' endstr]);
     psiscatvol=tdi(['\results::thomson.edge:psiscatvol' endstr]);
-    for ir=1:length(psiscatvol.dim{2})
-      rho(ir,:)= sqrt(1.-psiscatvol.data(:,ir)./psi_max.data(:))';
-    end
-    trace.dim=[{rho};{time}];
-    trace.dimunits=[{'sqrt(psi)'} ; {'time [s]'}];
-    trace.x=rho;
-    trace.t=time;
-    % isfield does not work since tracetdi is not a 'struct' but a tdi object, thus isfield using isa does not work
-    if any(strcmp(fieldnames(tracetdi),'units'))
-      trace.units=tracetdi.units;
+    if ~isempty(psiscatvol.data) && ~ischar(psiscatvol.data)
+      for ir=1:length(psiscatvol.dim{2})
+        rho(ir,:)= sqrt(1.-psiscatvol.data(:,ir)./psi_max.data(:))';
+      end
+      trace.dim=[{rho};{time}];
+      trace.dimunits=[{'sqrt(psi)'} ; {'time [s]'}];
+      trace.x=rho;
+      trace.t=time;
+      % isfield does not work since tracetdi is not a 'struct' but a tdi object, thus isfield using isa does not work
+      if any(strcmp(fieldnames(tracetdi),'units'))
+        trace.units=tracetdi.units;
+      end
+    else
+      trace.dim={};
+      trace.dimunits={};
+      trace.x=[];
+      trace.t=[];
+      trace.units={};
     end
     mdsclose;