diff --git a/crpptbx/JET/gdat_jet.m b/crpptbx/JET/gdat_jet.m
index 82bc31089e787d8a9401bc6a915421134ba8dacc..9972f7bf1e83e4dbd6e0a96c2e4500ccf27797e0 100644
--- a/crpptbx/JET/gdat_jet.m
+++ b/crpptbx/JET/gdat_jet.m
@@ -1416,6 +1416,8 @@ elseif strcmp(mapping_for_jet.method,'switchcase')
       ppftype = nodenameeff{1};
       tracename = [nodenameeff{2} '/' nodenameeff{3}];
       [a,x,t,d,e]=rda_jet(shot,ppftype,tracename);
+      % FTOR is on psinorm: move to rhopolnorm
+      x = sqrt(x);
       if e==0
         if gdat_params.nverbose>=3; disp(['error after rda_jet in signal with nodenameeff= ' nodenameeff]); end
         if gdat_params.nverbose>=3; disp(['cannot get ' data_request_eff]); end
diff --git a/crpptbx/JET/jet_requests_mapping.m b/crpptbx/JET/jet_requests_mapping.m
index d78e5600de8b1621cfeeb7c4da49ba64d232714c..4dd76f1d41aa871b286399c6e2ecdca7204c326b 100644
--- a/crpptbx/JET/jet_requests_mapping.m
+++ b/crpptbx/JET/jet_requests_mapping.m
@@ -225,6 +225,10 @@ switch lower(data_request)
   mapping.timedim = 1;
   mapping.method = 'signal';
   mapping.expression = [{'PPF'},{'EQUI'},{'PHIT'}]; % note this is only chain2, so should check with efit...
+  % there is FTOR from EFIT but it's on psinorm
+  mapping.method = 'expression';
+  mapping.expression = ['params_eff = gdat_data.gdat_params;params_eff.data_request=[{''PPF''},{''EFIT''},{''FTOR''}];' ...
+                    'gdat_tmp=gdat_jet(shot,params_eff);gdat_tmp.x=sqrt(gdat_tmp.x);gdat_tmp.dim{1}=gdat_tmp.x;'];
  case {'p_ohmic', 'p_ohm', 'pohm'}
   mapping.label = 'p\_ohmic';
   mapping.timedim = 1;