diff --git a/src/LIB/SURCOUCHE/src/mode_field.f90 b/src/LIB/SURCOUCHE/src/mode_field.f90
index 326562a42b637fab2bd0889bed7b0960b192f98e..89d2b8d1653db69d8409aa5e73aa332ac771f0d8 100644
--- a/src/LIB/SURCOUCHE/src/mode_field.f90
+++ b/src/LIB/SURCOUCHE/src/mode_field.f90
@@ -3151,14 +3151,12 @@ END IF
 !
 DO
   ICOUNT = ICOUNT + 1
-  IF (TRIM(TFIELDLIST(IDX)%CMNHNAME)=='') THEN !Last entry
-    IDX = 1
-  ELSE IF (TRIM(TFIELDLIST(IDX)%CMNHNAME)==TRIM(HMNHNAME)) THEN
+  IF (TRIM(TFIELDLIST(IDX)%CMNHNAME)==TRIM(HMNHNAME)) THEN
     KID = IDX
     EXIT
-  ELSE 
+  ELSE
     IDX = IDX + 1
-    IF (IDX>MAXFIELDS) IDX = 1
+    IF ( IDX > nfields_used ) IDX = 1
   END IF
   IF (IDX == IFIRSTGUESS) EXIT !All entries have been tested
 END DO
@@ -3172,8 +3170,8 @@ IF (KID==0) THEN
     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
+  IFIRSTGUESS = IDX + 1
+  IF ( IFIRSTGUESS > nfields_used ) IFIRSTGUESS = 1
   WRITE(YMSG,'( "field ",A16," found after ",I4," attempt(s)" )') TRIM(HMNHNAME),ICOUNT
   CALL PRINT_MSG(NVERB_DEBUG,'GEN','FIND_FIELD_ID_FROM_MNHNAME',TRIM(YMSG))
 END IF