diff --git a/src/LIB/SURCOUCHE/src/mode_field.f90 b/src/LIB/SURCOUCHE/src/mode_field.f90
index a324cab465814746252b7320300d2e9d44f03f2b..63b1cfb73a6d8e9c67422c3aaa0912df07689d84 100644
--- a/src/LIB/SURCOUCHE/src/mode_field.f90
+++ b/src/LIB/SURCOUCHE/src/mode_field.f90
@@ -3243,16 +3243,18 @@ END SUBROUTINE ERR_INI_FIELD_LIST
 !
 END SUBROUTINE INI_FIELD_LIST
 !
-SUBROUTINE FIND_FIELD_ID_FROM_MNHNAME(HMNHNAME,KID,KRESP)
+SUBROUTINE FIND_FIELD_ID_FROM_MNHNAME(HMNHNAME,KID,KRESP,ONOWARNING)
 !
 CHARACTER(LEN=*),            INTENT(IN) :: HMNHNAME !Name of the field to find
 INTEGER,                     INTENT(OUT):: KID      !Index of the field
 INTEGER,                     INTENT(OUT):: KRESP    !Return-code 
+LOGICAL, OPTIONAL,           INTENT(IN) :: ONOWARNING !If true, do not print warning
 !
 INTEGER :: IDX,JI
 INTEGER :: ICOUNT
 INTEGER,SAVE :: IFIRSTGUESS=1 !Store first field to test
 CHARACTER(LEN=64) :: YMSG
+LOGICAL :: GNOWARNING
 !
 !PW: TODO: possible optimizations:
 ! * Classement alphanumerique + index vers 1er champ commencant par caractere
@@ -3267,6 +3269,12 @@ KRESP = 0
 ICOUNT = 0
 IDX = IFIRSTGUESS
 !
+IF (PRESENT(ONOWARNING)) THEN
+  GNOWARNING = ONOWARNING
+ELSE
+  GNOWARNING = .FALSE.
+END IF
+!
 DO
   ICOUNT = ICOUNT + 1
   IF (TRIM(TFIELDLIST(IDX)%CMNHNAME)=='') THEN !Last entry
@@ -3284,7 +3292,11 @@ END DO
 IF (KID==0) THEN
   !Field not found
   KRESP = -1
-  CALL PRINT_MSG(NVERB_WARNING,'GEN','FIND_FIELD_ID_FROM_MNHNAME','field '//TRIM(HMNHNAME)//' not known')
+  IF (.NOT.GNOWARNING) THEN
+    CALL PRINT_MSG(NVERB_WARNING,'GEN','FIND_FIELD_ID_FROM_MNHNAME','field '//TRIM(HMNHNAME)//' not known')
+  ELSE
+    CALL PRINT_MSG(NVERB_DEBUG,'GEN','FIND_FIELD_ID_FROM_MNHNAME','field '//TRIM(HMNHNAME)//' not known (not unexpected)')
+  END IF
 ELSE
   IFIRSTGUESS = IDX+1
   IF (IFIRSTGUESS>MAXFIELDS) IFIRSTGUESS = 1