diff --git a/src/MNH/default_desfmn.f90 b/src/MNH/default_desfmn.f90
index d7248e18c35933fe43976139b720c4a7cac4a15e..31b7b67ad7344e82383ff43a48130dbbc9a90b29 100644
--- a/src/MNH/default_desfmn.f90
+++ b/src/MNH/default_desfmn.f90
@@ -313,7 +313,6 @@ TYPE(TFILEDATA)    TFILENAM    ! Empty file to satisfy interface of PHYEX_init r
 !
 ! CINIFILE='INIFILE'
 CINIFILEPGD='' !Necessary to keep this line to prevent problems with spawning
-CCPLFILE(:)=''
 !
 !-------------------------------------------------------------------------------
 !
diff --git a/src/MNH/ini_cpl.f90 b/src/MNH/ini_cpl.f90
index 4a294b7366a9ba3f14e4b63932a1149e064a2ed7..2b9948e5cbc302010c207fa21c134ab22b2720f0 100644
--- a/src/MNH/ini_cpl.f90
+++ b/src/MNH/ini_cpl.f90
@@ -343,6 +343,8 @@ ILUOUT = TLUOUT%NLU
 !*       2.    CHECK COUPLING FILES DATES
 !              --------------------------
 !
+IF ( .NOT.ASSOCIATED( TCPLFILE ) ) ALLOCATE( TCPLFILE(NCPL_NBR) )
+
 DO JCI=1,NCPL_NBR
   WRITE(YCI,'(I0)') JCI
   CALL IO_File_add2list(TCPLFILE(JCI)%TZFILE,CCPLFILE(JCI),'MNH','READ',KLFITYPE=2,KLFIVERB=NVERB)
diff --git a/src/MNH/ini_segn.f90 b/src/MNH/ini_segn.f90
index ab8d86ea096c12575ee7714d3c8561db88272bc8..1be7ab86393f02388da6b08e37de5c80dbec0ab1 100644
--- a/src/MNH/ini_segn.f90
+++ b/src/MNH/ini_segn.f90
@@ -462,7 +462,6 @@ CALL READ_EXSEG_n(KMI,TZFILE_DES,YCONF,GFLAT,GUSERV,GUSERC,                 &
 IF (CPROGRAM=='SPAWN ' .OR. CPROGRAM=='DIAG  ' .OR. CPROGRAM=='SPEC  '      &
      .OR. CPROGRAM=='REAL  ') THEN
   CINIFILE_n    = YINIFILE
-  CCPLFILE(:) = ''
   NMODEL=1
   LSTEADYLS=.TRUE.
 END IF
diff --git a/src/MNH/modd_lunitn.f90 b/src/MNH/modd_lunitn.f90
index 0b4fafb18772431fca14675d9bec148abd4492a8..f10bfbf1072220c2b66a27d4dbf71aae99a6cb3f 100644
--- a/src/MNH/modd_lunitn.f90
+++ b/src/MNH/modd_lunitn.f90
@@ -86,7 +86,9 @@ INTEGER, INTENT(IN) :: KFROM, KTO
 !JUAN
 IF (LUNIT_FIRST_CALL(KTO)) THEN
 ALLOCATE (LUNIT_MODEL(KTO)%CCPLFILE(NPCPLFILEMAX))
-ALLOCATE (LUNIT_MODEL(KTO)%TCPLFILE(NPCPLFILEMAX))
+LUNIT_MODEL(KTO)%CCPLFILE(:) = ''
+! TCPLFILE allocation is done in ini_cpl directly at the right size => commented here
+! ALLOCATE (LUNIT_MODEL(KTO)%TCPLFILE(NPCPLFILEMAX))
 LUNIT_FIRST_CALL(KTO) = .FALSE.
 ENDIF
 !JUAN
@@ -94,6 +96,8 @@ ENDIF
 TFILE_OUTPUTLISTING => LUNIT_MODEL(KTO)%TLUOUT
 !
 ! Save current state for allocated arrays
+LUNIT_MODEL(KFROM)%CCPLFILE => CCPLFILE
+LUNIT_MODEL(KFROM)%TCPLFILE => TCPLFILE
 !
 ! Current model is set to model KTO
 CINIFILE=>LUNIT_MODEL(KTO)%CINIFILE
diff --git a/src/MNH/read_exsegn.f90 b/src/MNH/read_exsegn.f90
index 6e6c12581996622f14e0664b3dd5d2e1b796475c..d1b6a37b8ce3633e3d5087be668130fcd6212c66 100644
--- a/src/MNH/read_exsegn.f90
+++ b/src/MNH/read_exsegn.f90
@@ -495,7 +495,6 @@ ILUSEG = TPEXSEGFILE%NLU
 ILUOUT = TLUOUT%NLU
 !
 CALL INIT_NAM_LUNITN
-CCPLFILE(:)=''
 CALL INIT_NAM_CONFN
 CALL INIT_NAM_DYNN
 CALL INIT_NAM_ADVN
diff --git a/src/MNH/spawn_model2.f90 b/src/MNH/spawn_model2.f90
index 39c8b4b70746c408b963b2ae1c5332fa3ec9d95f..ceddaa533f0b367b54a4ee7c08fbce7eef4b8d9c 100644
--- a/src/MNH/spawn_model2.f90
+++ b/src/MNH/spawn_model2.f90
@@ -642,7 +642,6 @@ END IF
 !*       3.5   model 2 configuration in MODD_NESTING to be written
 !*                on the FM-file to allow nesting or coupling 
 !
-CCPLFILE(:) = ''
 LSTEADYLS=.TRUE.
 !
 NDXRATIO_ALL(:) = 0