diff --git a/src/LIB/SURCOUCHE/src/fmwrit_ll.f90 b/src/LIB/SURCOUCHE/src/fmwrit_ll.f90
index 2842334252fc56a79a4644d8a4a25f394456ce21..41c6594214b86069aef302e437bd94647921c409 100644
--- a/src/LIB/SURCOUCHE/src/fmwrit_ll.f90
+++ b/src/LIB/SURCOUCHE/src/fmwrit_ll.f90
@@ -7,6 +7,7 @@
 !  J.Escobar : 15/09/2015 : WENO5 & JPHEXT <> 1
 !  Philippe Wautelet: 05/2016-04/2018: new data structures and calls for I/O
 !  Philippe Wautelet: 10/01/2019: do not write scalars in Z-split files
+!  Philippe Wautelet: 10/01/2019: write header also for Z-split files
 !-----------------------------------------------------------------
 
 #ifdef MNH_MPI_DOUBLE_PRECISION
@@ -159,6 +160,23 @@ CONTAINS
 
 
   SUBROUTINE IO_WRITE_HEADER(TPFILE,HDAD_NAME)
+    TYPE(TFILEDATA),          INTENT(IN)  :: TPFILE   ! File structure
+    CHARACTER(LEN=*),OPTIONAL,INTENT(IN)  :: HDAD_NAME
+
+    integer :: ifile
+
+    CALL PRINT_MSG(NVERB_DEBUG,'IO','IO_WRITE_HEADER_FILE','called for file '//TRIM(TPFILE%CNAME))
+
+    CALL IO_WRITE_HEADER_ONEFILE(TPFILE,HDAD_NAME)
+
+    !Write header also for the Z-split files
+    DO IFILE=1,TPFILE%NSUBFILES_IOZ
+      CALL IO_WRITE_HEADER_ONEFILE(TPFILE%TFILES_IOZ(IFILE)%TFILE,HDAD_NAME)
+    END DO
+  END SUBROUTINE IO_WRITE_HEADER
+
+
+  SUBROUTINE IO_WRITE_HEADER_ONEFILE(TPFILE,HDAD_NAME)
     !
     USE MODD_CONF
     USE MODD_CONF_n,     ONLY: CSTORAGE_TYPE
@@ -170,11 +188,11 @@ CONTAINS
     CHARACTER(LEN=:),ALLOCATABLE :: YDAD_NAME
     INTEGER                      :: ILEN,ILEN2
     !
-    CALL PRINT_MSG(NVERB_DEBUG,'IO','IO_WRITE_HEADER','called for file '//TRIM(TPFILE%CNAME))
+    CALL PRINT_MSG(NVERB_DEBUG,'IO','IO_WRITE_HEADER_ONEFILE','called for file '//TRIM(TPFILE%CNAME))
     !
     IF ( ASSOCIATED(TPFILE%TDADFILE) .AND. PRESENT(HDAD_NAME) ) THEN
       IF ( TRIM(TPFILE%TDADFILE%CNAME) /= TRIM(HDAD_NAME) ) THEN
-        CALL PRINT_MSG(NVERB_ERROR,'IO','IO_WRITE_HEADER','TPFILE%TDADFILE%CNAME /= HDAD_NAME')
+        CALL PRINT_MSG(NVERB_ERROR,'IO','IO_WRITE_HEADER_ONEFILE','TPFILE%TDADFILE%CNAME /= HDAD_NAME')
       END IF
     END IF
     !
@@ -209,7 +227,7 @@ CONTAINS
         YDAD_NAME(:) = ' '
       END IF
     ELSE
-      CALL PRINT_MSG(NVERB_DEBUG,'IO','IO_WRITE_HEADER',TRIM(TPFILE%CNAME)// &
+      CALL PRINT_MSG(NVERB_DEBUG,'IO','IO_WRITE_HEADER_ONEFILE',TRIM(TPFILE%CNAME)// &
                      ': TPFILE%TDADFILE not associated and HDAD_NAME not provided')
       ALLOCATE(CHARACTER(LEN=NFILENAMELGTMAXLFI) :: YDAD_NAME)
       YDAD_NAME(:) = ' '
@@ -217,7 +235,7 @@ CONTAINS
     CALL IO_WRITE_FIELD(TPFILE,'DAD_NAME',YDAD_NAME)
     DEALLOCATE(YDAD_NAME)
     !
-  END SUBROUTINE IO_WRITE_HEADER
+  END SUBROUTINE IO_WRITE_HEADER_ONEFILE
 
 
   SUBROUTINE IO_WRITE_FIELD_BYNAME_X0(TPFILE,HNAME,PFIELD,KRESP)