diff --git a/crpptbx/TCV/loadTCVdata.m b/crpptbx/TCV/loadTCVdata.m
index 23e423335659ab1d30091b314c323ac75b601077..9c3ef9967848efc1a4933eac1a7decd7868d0d82 100644
--- a/crpptbx/TCV/loadTCVdata.m
+++ b/crpptbx/TCV/loadTCVdata.m
@@ -576,17 +576,24 @@ switch TCVkeywrdcase{index}
       tracestd=tdi('\results::thomson:ne:error_bar');
       if shot>=23801
         tracefirrat=tdi('\results::thomson.profiles.auto:fir_thom_rat'); %time base not same!!
-        if isempty(tracefirrat.data)
+        if isempty(tracefirrat.data) || ischar(tracefirrat.data)
           disp('problem with \results::thomson.profiles.auto:fir_thom_rat: empty')
         end
       else
         tracefirrat=tdi('\results::thomson:fir_thom_rat');
-        tracefirrat.dim{1}=time;
+        if isempty(tracefirrat.data) || ischar(tracefirrat.data)
+          disp('problem with \results::thomson.profiles.auto:fir_thom_rat: empty')
+          tracefirrat.dim{1}=[];
+        else
+          tracefirrat.dim{1}=time;
+        end
       end
-      tracefirrat_data=NaN*ones(size(tracetdi.dim{1}));
-      if ~isempty(tracefirrat.data)
+      if ~isempty(tracefirrat.data) || ischar(tracefirrat.data)
+        tracefirrat_data=NaN*ones(size(tracetdi.dim{1}));
         itim=iround(time,tracefirrat.dim{1});
         tracefirrat_data(itim)=tracefirrat.data;
+      else
+        tracefirrat_data=NaN;
       end
     else
       nodenameeff='\results::thomson:te';