diff --git a/LIBTOOLS/tools/lfi2cdf/src/lfi2cdf.f90 b/LIBTOOLS/tools/lfi2cdf/src/lfi2cdf.f90
index e6e58e46b41941c0aa766a5c4d4f8c09f5bae5ce..0661659d9c6c7d195d20f3623599653809a737aa 100644
--- a/LIBTOOLS/tools/lfi2cdf/src/lfi2cdf.f90
+++ b/LIBTOOLS/tools/lfi2cdf/src/lfi2cdf.f90
@@ -1,6 +1,12 @@
 program LFI2CDF
+  USE MODD_CONF,  ONLY: CPROGRAM
+
+  USE MODE_IO_ll,  ONLY: INITIO_ll, SET_CONFIO_ll
   USE mode_options
   USE mode_util
+
+  USE MODN_CONFIO, ONLY: LCDF4, LLFIOUT, LLFIREAD
+
   IMPLICIT NONE 
 
   INTEGER :: ibuflen
@@ -20,8 +26,30 @@ program LFI2CDF
   integer                      :: runmode
 
 
+  CPROGRAM = 'LFICDF'
+
+  CALL INITIO_ll()
+  CALL VERSION
+
   call read_commandline(options,hinfile,houtfile,runmode)
 
+  IF (runmode == MODELFI2CDF) THEN
+     LCDF4    = .TRUE.
+     LLFIOUT  = .FALSE.
+     LLFIREAD = .TRUE.
+     CALL SET_CONFIO_ll()
+  ELSE IF (runmode == MODECDF2CDF) THEN
+     LCDF4    = .TRUE.
+     LLFIOUT  = .FALSE.
+     LLFIREAD = .FALSE.
+     CALL SET_CONFIO_ll()
+  ELSE
+     LCDF4    = .TRUE.
+     LLFIOUT  = .TRUE.
+     LLFIREAD = .FALSE.
+     CALL SET_CONFIO_ll()
+  END IF
+
   CALL OPEN_FILES(infiles, outfiles, hinfile, houtfile, nbvar_infile, options, runmode)
   IF (options(OPTLIST)%set) STOP