diff --git a/src/LIB/SURCOUCHE/src/modd_io.f90 b/src/LIB/SURCOUCHE/src/modd_io.f90
index 80860dcca709fbad6ed3f731ddf2079d382b653c..47e3f7ddd27a9e5750ca02b987d745792d143bd5 100644
--- a/src/LIB/SURCOUCHE/src/modd_io.f90
+++ b/src/LIB/SURCOUCHE/src/modd_io.f90
@@ -42,7 +42,6 @@ TYPE TOUTBAK
   INTEGER           :: NOUTID = -1  !Output number
   INTEGER           :: NSTEP        !Timestep number
   REAL              :: XTIME        !Time from start of the segment (in seconds and rounded to a timestep)
-  CHARACTER(LEN=28) :: CFILENAME    !Filename
   INTEGER           :: NOUTDAD = -1 !Index of the corresponding dad file (file with same time)
   CHARACTER(LEN=28) :: CDADFILENAME !Filename of dad
   TYPE(TFILEDATA),POINTER :: TFILE => NULL() !Corresponding file
@@ -50,6 +49,7 @@ END TYPE TOUTBAK
 
 !Structure describing the characteristics of a file
 TYPE TFILEDATA
+  CHARACTER(LEN=28) :: CFILENAME             !Filename
   CHARACTER(LEN=7)  :: CFILETYPE = "UNKNOWN" !Filetype (backup, output...)
   TYPE(TFILEDATA),POINTER :: TFILE_PREV => NULL()
   TYPE(TFILEDATA),POINTER :: TFILE_NEXT => NULL()
diff --git a/src/MNH/modeln.f90 b/src/MNH/modeln.f90
index 83a552e05bed0de23de4aaf4eab3dfc6f479e597..1ac060212d6e6eb7cb180f9e37bfdaaf08c0ef50 100644
--- a/src/MNH/modeln.f90
+++ b/src/MNH/modeln.f90
@@ -908,7 +908,7 @@ IF (IOUT < NOUT_NUMB ) THEN
     GCLOSE_OUT=.TRUE.
     INPRAR = 22 +2*(4+NRR+NSV)
     !
-    YFMFILE  = TOUTBAKN(IOUT)%CFILENAME
+    YFMFILE  = TOUTBAKN(IOUT)%TFILE%CFILENAME
     YDADFILE = TOUTBAKN(IOUT)%CDADFILENAME
     !
     CALL FMOPEN_ll(YFMFILE,'WRITE',CLUOUT,INPRAR,ITYPE,NVERB,ININAR,IRESP)
diff --git a/src/MNH/set_grid.f90 b/src/MNH/set_grid.f90
index 9604e0be50fdfcbd6b271f363c11b788570c9b16..57f978c3c24dcf4b27b0494ec66ab77470ae2935 100644
--- a/src/MNH/set_grid.f90
+++ b/src/MNH/set_grid.f90
@@ -708,8 +708,6 @@ DO IMI = 1, NMODEL
           print *,'ERROR in SET_GRID: more than 999 backups'
           STOP
         END IF
-        WRITE (YNUMBER,FMT="('.',I3.3)") IPOS
-        OUT_MODEL(IMI)%TOUTBAKN(IPOS)%CFILENAME=ADJUSTL(ADJUSTR(IO_SURF_MNH_MODEL(IMI)%COUTFILE)//YNUMBER)
         IF (.NOT.ASSOCIATED(TFILE_FIRST)) THEN
           ALLOCATE(TFILE_FIRST)
           TFILE_LAST => TFILE_FIRST
@@ -720,6 +718,8 @@ DO IMI = 1, NMODEL
         ENDIF
         OUT_MODEL(IMI)%TOUTBAKN(IPOS)%TFILE => TFILE_LAST
         OUT_MODEL(IMI)%TOUTBAKN(IPOS)%TFILE%CFILETYPE="BACKUP"
+        WRITE (YNUMBER,FMT="('.',I3.3)") IPOS
+        OUT_MODEL(IMI)%TOUTBAKN(IPOS)%TFILE%CFILENAME=ADJUSTL(ADJUSTR(IO_SURF_MNH_MODEL(IMI)%COUTFILE)//YNUMBER)
     END IF
   END DO
   !
@@ -733,7 +733,7 @@ DO IMI = 1, NMODEL
   IF (NDAD(IMI) == IMI .OR.  IMI == 1) THEN
     OUT_MODEL(IMI)%TOUTBAKN(:)%NOUTDAD = 0
     !Check IPOS>0 because TOUTBAKN(0) does not exist (IPOS=0 only if no backups)
-    IF(IPOS>0) OUT_MODEL(IMI)%TOUTBAKN(IPOS)%CDADFILENAME = OUT_MODEL(IMI)%TOUTBAKN(IPOS)%CFILENAME
+    IF(IPOS>0) OUT_MODEL(IMI)%TOUTBAKN(IPOS)%CDADFILENAME = OUT_MODEL(IMI)%TOUTBAKN(IPOS)%TFILE%CFILENAME
   ELSE
     DO IPOS = 1,OUT_MODEL(IMI)%NOUT_NUMB
       IDX = 0