diff --git a/src/SURFEX/ch_init_emissionn.F90 b/src/SURFEX/ch_init_emissionn.F90
index 041cfc9f2492c1589f8ffc57c3f47a471286f50c..ff8546da3cf2a8e536f3aa76039e46eaa30ae976 100644
--- a/src/SURFEX/ch_init_emissionn.F90
+++ b/src/SURFEX/ch_init_emissionn.F90
@@ -3,7 +3,8 @@
 !SFX_LIC version 1. See LICENSE, CeCILL-C_V1-en.txt and CeCILL-C_V1-fr.txt  
 !SFX_LIC for details. version 1.
 !     #########
-      SUBROUTINE CH_INIT_EMISSION_n (CHE, PCONVERSION, HSV, HPROGRAM,KLU,HINIT,PRHOA,HCHEM_SURF_FILE)
+      SUBROUTINE CH_INIT_EMISSION_n (CHE, PCONVERSION, HSV, HPROGRAM,KLU,HINIT,PRHOA,&
+                                     HCHEM_SURF_FILE, LCH_SURF_EMIS, KEQ)
 !     #######################################
 !
 !!****  *CH_INIT_EMIISION_n* - routine to initialize chemical emissions data structure
@@ -68,6 +69,8 @@ CHARACTER(LEN=3),  INTENT(IN)  :: HINIT    ! Flag to know if one initializes:
 !                                          !         an initial file
 REAL, DIMENSION(:),INTENT(IN)  :: PRHOA    ! air density
 CHARACTER(LEN=28), INTENT(IN)  :: HCHEM_SURF_FILE ! ascii file for chemistry aggregation
+LOGICAL, INTENT(IN)  :: LCH_SURF_EMIS
+INTEGER, INTENT(IN)  :: KEQ
 !
 !*       0.2   declarations of local variables
 !
@@ -223,6 +226,7 @@ IVERB=6
 
 !*      3.     Conversion and aggregation
 
+IF ((LCH_SURF_EMIS).AND.(KEQ > 0)) THEN
 IF (HINIT == "ALL") THEN
   IF (INBOFF > 0) THEN
     CALL OPEN_NAMELIST(HPROGRAM,ICH,HFILE=HCHEM_SURF_FILE)
@@ -242,6 +246,7 @@ IF (HINIT == "ALL") THEN
     NULLIFY(CHE%TSPRONOSLIST)
   END IF
 ENDIF
+END IF
 
 DEALLOCATE(ITIMES,INBTIMES,IOFFNDX)
 WRITE(ILUOUT,*) '------ Leaving CH_INIT_EMISSION ------'
diff --git a/src/SURFEX/ch_init_snapn.F90 b/src/SURFEX/ch_init_snapn.F90
index e81ddd9078bbf445de0194ad50d99886c7db1f62..bb0a26d3ca1868a55f708f93a6ec52bc4ba4317c 100644
--- a/src/SURFEX/ch_init_snapn.F90
+++ b/src/SURFEX/ch_init_snapn.F90
@@ -3,7 +3,8 @@
 !SFX_LIC version 1. See LICENSE, CeCILL-C_V1-en.txt and CeCILL-C_V1-fr.txt  
 !SFX_LIC for details. version 1.
 !     #########
-      SUBROUTINE CH_INIT_SNAP_n (CHN, HSV, HPROGRAM,KLU,HINIT,PRHOA,HCHEM_SURF_FILE)
+      SUBROUTINE CH_INIT_SNAP_n (CHN, HSV, HPROGRAM,KLU,HINIT,PRHOA,HCHEM_SURF_FILE,&
+                                 LCH_SURF_EMIS, KEQ)
 !     #######################################
 !
 !!****  *CH_INIT_EMIISION_TEMP_n* - routine to initialize chemical emissions data structure
@@ -66,6 +67,9 @@ INTEGER,           INTENT(IN)  :: KLU      ! number of points
 !                                          !         an initial file
 REAL, DIMENSION(:),INTENT(IN)  :: PRHOA    ! air density
 CHARACTER(LEN=28), INTENT(IN)  :: HCHEM_SURF_FILE ! ascii file for chemistry aggregation
+LOGICAL, INTENT(IN)            :: LCH_SURF_EMIS
+INTEGER, INTENT(IN)  :: KEQ
+
 !
 !*       0.2   declarations of local variables
 !
@@ -185,6 +189,7 @@ IF (HPROGRAM=="NC    ") DEALLOCATE(ZTEMP)
 !*      3.     Conversion factor
 !              -----------------
 !
+IF ((LCH_SURF_EMIS).AND.(KEQ > 0)) THEN
 IF (HINIT=='ALL') THEN
   CALL OPEN_NAMELIST(HPROGRAM,ICH,HFILE=HCHEM_SURF_FILE)
   CALL CH_OPEN_INPUTB("EMISUNIT", ICH, ILUOUT)
@@ -206,6 +211,7 @@ IF (HINIT=='ALL') THEN
   CALL CLOSE_NAMELIST(HPROGRAM,ICH)
 !-------------------------------------------------------------------------------
 END IF
+END IF
 !
 IF (LHOOK) CALL DR_HOOK('CH_INIT_SNAP_N',1,ZHOOK_HANDLE)
 !-------------------------------------------------------------------------------
diff --git a/src/SURFEX/init_surf_atmn.F90 b/src/SURFEX/init_surf_atmn.F90
index 79f68205260d612ad491100378c53a1bb546afbd..37ad1e91470d74e527b664362f10f7cd7e4e22ab 100644
--- a/src/SURFEX/init_surf_atmn.F90
+++ b/src/SURFEX/init_surf_atmn.F90
@@ -433,10 +433,12 @@ IF (YSC%CHU%LCH_EMIS) THEN
 
   IF (YSC%CHU%CCH_EMIS=='AGGR') THEN
     CALL CH_INIT_EMISSION_n(YSC%CHE, YSC%CHU%XCONVERSION, CNAMES, &
-                            HPROGRAM,YSC%U%NSIZE_FULL,HINIT,PRHOA,YSC%CHU%CCHEM_SURF_FILE) 
+                            HPROGRAM,YSC%U%NSIZE_FULL,HINIT,PRHOA,YSC%CHU%CCHEM_SURF_FILE,&
+                            YSC%CHU%LCH_SURF_EMIS, YSC%SV%NBEQ) 
   ELSE IF (YSC%CHU%CCH_EMIS=='SNAP') THEN
     CALL CH_INIT_SNAP_n(YSC%CHN, CNAMES, &
-                        HPROGRAM,YSC%U%NSIZE_FULL,HINIT,PRHOA,YSC%CHU%CCHEM_SURF_FILE)
+                        HPROGRAM,YSC%U%NSIZE_FULL,HINIT,PRHOA,YSC%CHU%CCHEM_SURF_FILE,&
+                        YSC%CHU%LCH_SURF_EMIS, YSC%SV%NBEQ)
   END IF
   !
 ENDIF