diff --git a/crpptbx/gdat.m b/crpptbx/gdat.m
index 15c07947db62df3a9aceed694da1332506ee45e3..dfb5baf34196f96f8a7f41a86f6e0d11bb9ad44d 100644
--- a/crpptbx/gdat.m
+++ b/crpptbx/gdat.m
@@ -188,6 +188,10 @@ try
     args = [{shot,data_request},varargin_eff];
   end
   [gdat_data,gdat_params,error_status,varargout] = feval(['gdat_' lower(machine_eff)],args{:});
+  % because data request can be an actual detailed tree related signal, upper and lower case need to be kept, but other places remain with lower case when case insensitive
+  % needed since some substructure have machine name like mapping_for
+  gdat_data.gdat_params.machine = lower(gdat_data.gdat_params.machine);
+
 catch ME_gdat
   warning(['problems calling gdat_' lower(machine_eff)]);
   if ~exist('gdat_data','var'); gdat_data.data = []; end