diff --git a/LIBTOOLS/tools/lfi2cdf/src/mode_util.f90 b/LIBTOOLS/tools/lfi2cdf/src/mode_util.f90
index 8dce337b3a84e42ab0af89ffb69912588654da1c..e7a4c3fd50598d42fb40bb3dc0eea1d2e15de106 100644
--- a/LIBTOOLS/tools/lfi2cdf/src/mode_util.f90
+++ b/LIBTOOLS/tools/lfi2cdf/src/mode_util.f90
@@ -326,11 +326,16 @@ END DO
 
        IF (infiles%files(1)%format == LFI_FORMAT) THEN
          yrecfm = trim(tpreclist(ji)%name)//trim(suffix)
+         CALL FIND_FIELD_ID_FROM_MNHNAME(yrecfm,IID,IRESP)
+         IF (IRESP==0) THEN
+           tpreclist(ji)%TYPE = TFIELDLIST(IID)%NTYPE
+         ELSE !Field not found in list
+              tpreclist(ji)%TYPE = TYPEREAL
+         END IF
          CALL LFINFO(iresp2,ilu,yrecfm,ileng,ipos)
          CALL LFILEC(iresp2,ilu,yrecfm,iwork,ileng)
          tpreclist(ji)%grid = iwork(1)
          comment_size = iwork(2)
-         tpreclist(ji)%TYPE = get_ftype(yrecfm,current_level)
 
          ALLOCATE(character(len=comment_size) :: tpreclist(ji)%comment)
          DO jj=1,comment_size
@@ -1020,32 +1025,32 @@ END DO
 
 
        SELECT CASE(tpreclist(ivar)%TYPE)
-       CASE(TYPEINT,TYPELOG)
+       CASE(INT,BOOL)
           ALLOCATE( itab3d(idims(1),idims(2),idims(3)) )
           status = NF90_GET_VAR(kcdf_id,tpreclist(ivar)%id_in,itab3d)
           IF (status /= NF90_NOERR) CALL HANDLE_ERR(status,__LINE__)
 
-!          PRINT *,'TYPEINT,TYPELOG --> ',tpreclist(ivar)%name,',len = ',idlen
+!          PRINT *,'INT,BOOL --> ',tpreclist(ivar)%name,',len = ',idlen
           idata(1:idlen) = RESHAPE( itab3d , (/ idims(1)*idims(2)*idims(3) /) )
 
           DEALLOCATE(itab3d)
 
-       CASE(TYPEREAL)
+       CASE(FLOAT)
           ALLOCATE( xtab3d(idims(1),idims(2),idims(3)) )
           status = NF90_GET_VAR(kcdf_id,tpreclist(ivar)%id_in,xtab3d)
           IF (status /= NF90_NOERR) CALL HANDLE_ERR(status,__LINE__)
 
-!          PRINT *,'TYPEREAL -->    ',tpreclist(ivar)%name,',len = ',idlen
+!          PRINT *,'FLOAT -->    ',tpreclist(ivar)%name,',len = ',idlen
           idata(1:idlen) = RESHAPE( TRANSFER(xtab3d,(/ 0_8 /),idlen) , (/ idims(1)*idims(2)*idims(3) /) )
 
           DEALLOCATE(xtab3d)
 
-       CASE(TYPECHAR)
+       CASE(TEXT)
           ALLOCATE(ytab(idlen))
           status = NF90_GET_VAR(kcdf_id,tpreclist(ivar)%id_in,ytab)
           IF (status /= NF90_NOERR) CALL HANDLE_ERR(status,__LINE__)
 
-!          PRINT *,'TYPECHAR -->     ',tpreclist(ivar)%name,',len = ',idlen
+!          PRINT *,'TEXT -->     ',tpreclist(ivar)%name,',len = ',idlen
           DO jj=1,idlen
              idata(jj) = ICHAR(ytab(jj))
           END DO