diff --git a/src/MNH/fft.f90 b/src/MNH/fft.f90
index 60ee2eaabee64e4827687c856a0318d27a0593fb..1f412aaffb80efd29a0d3c01f5b778de8c207a95 100644
--- a/src/MNH/fft.f90
+++ b/src/MNH/fft.f90
@@ -223,18 +223,13 @@ SUBROUTINE FFT991( A, WORK, TRIGS, IFAX, JUMP, N, ILOT, ISIGN, KSZA, KSZW, KSZT
 !     ------------------------------------
       IF ( MOD(NFAX,2) == 1 ) THEN
 !$acc kernels
-        IBASE=1
-        JBASE=IA
-        DO JJ=1,NVEX
-          I=IBASE
-          J=JBASE
-          DO II=1,N
-            A(J)=WORK(I)
-            I=I+1
-            J=J+1
-          END DO
-          IBASE=IBASE+NX
-          JBASE=JBASE+JUMP
+!CDIR NODEP
+!*vocl loop,novrec
+!$acc loop independent private( IBASE, JBASE )
+        DO JJ = 1, NVEX
+          IBASE = 1  + (JJ-1) * NX
+          JBASE = IA + (JJ-1) * JUMP
+          A(JBASE:JBASE+N-1) = WORK(IBASE:IBASE+N-1)
         END DO
 !$acc end kernels
       END IF
@@ -286,18 +281,13 @@ SUBROUTINE FFT991( A, WORK, TRIGS, IFAX, JUMP, N, ILOT, ISIGN, KSZA, KSZW, KSZT
 !     ------------------------------------
       IF ( MOD(NFAX,2) == 1 ) THEN
 !$acc kernels
-        IBASE=1
-        JBASE=IA
-        DO JJ=1,NVEX
-          I=IBASE
-          J=JBASE
-          DO II=1,N
-            A(J)=WORK(I)
-            I=I+1
-            J=J+1
-          END DO
-          IBASE=IBASE+NX
-          JBASE=JBASE+JUMP
+        !CDIR NODEP
+!*vocl loop,novrec
+!$acc loop independent private( IBASE, JBASE )
+        DO JJ = 1, NVEX
+          IBASE = 1  + (JJ-1) * NX
+          JBASE = IA + (JJ-1) * JUMP
+          A(JBASE:JBASE+N-1) = WORK(IBASE:IBASE+N-1)
         END DO
 !$acc end kernels
       END IF