diff --git a/matlab/gdat_plot.m b/matlab/gdat_plot.m
index ada21523ed84691a1932bfc4781528fc6e1ea375..08551e7cf79fdd19f119f8db7c29ccbaec3a4093 100644
--- a/matlab/gdat_plot.m
+++ b/matlab/gdat_plot.m
@@ -124,13 +124,17 @@ if all(isfield(gdat_data,{'data','t'})) && ~isempty(gdat_data.data) && ~isempty(
     zoom on;
   end
   maxnblines = 1;
-  for i=1:numel(linehandles)
-    maxnblines = max(maxnblines,numel(linehandles{i}));
-    if numel(linehandles{i}) == 1
-      set(linehandles{i},'DisplayName',[num2str(gdat_data.shot)]);
-    else
-      for j=1:numel(linehandles{i})
-        set(linehandles{i}(j),'DisplayName',[num2str(gdat_data.shot) ',' num2str(j)]);
+  if strcmp(gdat_data.gdat_request,'powers') && length(ab)==length(gdat_data.label)
+    % keep legend from label
+  else
+    for i=1:numel(linehandles)
+      maxnblines = max(maxnblines,numel(linehandles{i}));
+      if numel(linehandles{i}) == 1
+        set(linehandles{i},'DisplayName',[num2str(gdat_data.shot)]);
+      else
+        for j=1:numel(linehandles{i})
+          set(linehandles{i}(j),'DisplayName',[num2str(gdat_data.shot) ',' num2str(j)]);
+        end
       end
     end
   end