diff --git a/crpptbx/TCV/loadTCVdata.m b/crpptbx/TCV/loadTCVdata.m
index e880d98f49bee04c970270328bd3e811bb325cb9..a4226f8949da2805580c010f9ee3391b3ba76270 100644
--- a/crpptbx/TCV/loadTCVdata.m
+++ b/crpptbx/TCV/loadTCVdata.m
@@ -575,10 +575,11 @@ switch TCVkeywrdcase{index}
       tracetdi=tdi(nodenameeff);
       if avers.data < 2.99
         % for earlier version the bug made it to have logically (rho,t)
-        if ~isempty(tracetdi.dim)
+        if ~isempty(tracetdi.dim) && ~ischar(tracetdi.data)
           trace.x=tracetdi.dim{1};
           trace.t=tracetdi.dim{2};
         else
+         error=2;
           trace.x=[];
           trace.t=[];
         end
@@ -589,6 +590,7 @@ switch TCVkeywrdcase{index}
           trace.x=tracetdi.dim{2};
           trace.t=tracetdi.dim{1};
         else
+          error=1;
           trace.x=[];
           trace.t=[];
         end
diff --git a/crpptbx/gdat.m b/crpptbx/gdat.m
index 7c1437b40fcef91302514c71aefef0c2f3e9a2ac..c614c4aeb729f048f94126523869937f53cad6b3 100644
--- a/crpptbx/gdat.m
+++ b/crpptbx/gdat.m
@@ -71,7 +71,7 @@ function [trace,error,varargout] = gdat(shot,data_type,varargin)
 % trace.dim:    cell array of grids, trace.dim{1}, {2}, ...
 % trace.dimunits: units of dimensions
 %
-% error:        error in loading signal (0=> OK, 1=> error)
+% error:        error in loading signal (0=> OK, >=1 => error)
 %
 % Additional Output arguments depending on data_type
 %