diff --git a/matlab/AUG/gdat_aug.m b/matlab/AUG/gdat_aug.m
index 3bce4c3bb4f18a5635de2563a26b163eb5b2e6b7..9cf69c6fca35670c3579d9c352d382b63e7b00ff 100644
--- a/matlab/AUG/gdat_aug.m
+++ b/matlab/AUG/gdat_aug.m
@@ -350,6 +350,7 @@ if strcmp(mapping_for_aug.method,'signal')
   if isempty(aatmp.data) || (isempty(gdat_data.t) && isempty(gdat_data.x))
     return
   end
+  mapping_for_aug_timedim_orig = mapping_for_aug.timedim;
   if mapping_for_aug.timedim<=0
     % need to guess timedim
     if prod(size(aatmp.data)) == length(aatmp.data)
@@ -379,11 +380,31 @@ if strcmp(mapping_for_aug.method,'signal')
     gdat_data.dim{mapping_for_aug.timedim} = gdat_data.t;
     gdat_data.dimunits{mapping_for_aug.timedim} = 'time [s]';
     nbdims = length(size(gdat_data.data));
-    for i=1:nbdims
-      if i~=mapping_for_aug.timedim
-        ieff=i;
-        if i>mapping_for_aug.timedim; ieff=i-1; end
-        gdat_data.dim{i} = gdat_data.x{ieff};
+    % should copy dims from aatmp but skip time dm already set
+    if numel(aatmp.dim) ~= nbdims
+      error(['in gdat_aug: numel(aatmp.dim)(=',num2str(numel(aatmp.dim)),') ~= nbdims(=',num2str(nbdims),')']);
+    else
+      iotherdims = setdiff([1:nbdims],mapping_for_aug.timedim);
+      % set 1st non-time dim to .x
+      if ~isequal(aatmp.x,aatmp.dim{iotherdims(1)}); warning('aatmp.x was not 1st non-time dim'); end
+      gdat_data.dim(iotherdims) = aatmp.dim(iotherdims);
+      gdat_data.dimunits(iotherdims) = aatmp.dimunits(iotherdims);
+      gdat_data.x = gdat_data.dim{iotherdims(1)};
+      % often time as 1st dim, but would be more "our" standard as 2nd dim, at this stage change systematically
+      if mapping_for_aug_timedim_orig <= 0 && mapping_for_aug.timedim==1
+        % switch 1st two dimensions
+        adim = gdat_data.dim;
+        gdat_data.dim(1:2) = adim([2 1]);
+        adimunits = gdat_data.dimunits;
+        gdat_data.dimunits(1:2) = adimunits([2 1]);
+        mapping_for_aug.timedim = 2;
+        mapping_for_aug.gdat_timedim = mapping_for_aug.timedim;
+        if numel(size(gdat_data.dim{1}))==2; gdat_data.dim{1} = gdat_data.dim{1}'; end
+        gdat_data.x = gdat_data.dim{1};
+        gdat_data.t = gdat_data.dim{mapping_for_aug.timedim};
+        adata = gdat_data.data;
+        gdat_data.data = permute(adata,[2 1 3:numel(size(adata))]);
+
       end
     end
   end