diff --git a/src/MNH/ch_monitorn.f90 b/src/MNH/ch_monitorn.f90
index 607ba4ec87c1ac59b4b034d2f0a62b598729e9df..dba8b09843dde98783e4943550e6473af989509b 100644
--- a/src/MNH/ch_monitorn.f90
+++ b/src/MNH/ch_monitorn.f90
@@ -110,6 +110,7 @@ END MODULE MODI_CH_MONITOR_n
 !!    11/12/15 (M. Leriche & P. Tulet) add ch_init_ice initialise index for ice chem.
 !!    18/01/16 (M Leriche) for sedimentation fusion C2R2 and khko
 !!    15/02/16 (M Leriche) call ch_init_rosenbrock only one time
+!!    20/01/17 (G.Delautier) bug if CPROGRAM/=DIAG
 !!
 !!    EXTERNAL
 !!    --------
@@ -621,7 +622,9 @@ SELECT CASE (CCH_TDISCRETIZATION)
 END SELECT
 !
 !
-IF (LEN_TRIM(CSPEC_BU_DIAG)/=0.OR.LEN_TRIM(CSPEC_DIAG)/=0) GSPLIT=.FALSE.  ! Modif. for DIAG
+IF (CPROGRAM=='DIAG  ') THEN
+  IF (LEN_TRIM(CSPEC_BU_DIAG)/=0.OR.LEN_TRIM(CSPEC_DIAG)/=0) GSPLIT=.FALSE.  ! Modif. for DIAG
+END IF
 !
 !
 !*       1.6   allocate tables
diff --git a/src/MNH/ini_modeln.f90 b/src/MNH/ini_modeln.f90
index 5f3deb5f66bdf70626546ec4c466f29ef649dcbd..87a680372d500280e2d5305fd29e15d319dbb9a2 100644
--- a/src/MNH/ini_modeln.f90
+++ b/src/MNH/ini_modeln.f90
@@ -270,7 +270,8 @@ END MODULE MODI_INI_MODEL_n
 !!                   M.Leriche 2016 Chemistry
 !!                   10/2016 M.Mazoyer New KHKO output fields
 !!                      10/2016 (C.Lac) Add max values
-!!       F. Brosse   Oct.  2016 add prod/loss terms computation for chemistry       
+!!       F. Brosse   Oct.  2016 add prod/loss terms computation for chemistry  
+!!                   01/2017 (G.Delautier) bug chemistry : modify test for prod/loss terms computation
 !---------------------------------------------------------------------------------
 !
 !*       0.    DECLARATIONS
@@ -2174,12 +2175,11 @@ IF ( LFOREFIRE ) THEN
 		, TDTCUR%TDATE%YEAR, TDTCUR%TDATE%MONTH, TDTCUR%TDATE%DAY, TDTCUR%TIME, XTSTEP)
 END IF
 #endif
-
 !-------------------------------------------------------------------------------
 !
 !*      30.   Total production/Loss for chemical species
 !
-IF (LUSECHEM.OR.LCHEMDIAG)  THEN
+IF (LCHEMDIAG)  THEN
         CALL CH_INIT_PRODLOSSTOT_n(ILUOUT)
         IF (NEQ_PLT>0) THEN
                 ALLOCATE(XPROD(IIU,IJU,IKU,NEQ_PLT))
@@ -2199,7 +2199,7 @@ END IF
 !
 !*     31. Extended production/loss terms for chemical species
 !
-IF (LUSECHEM.OR.LCHEMDIAG) THEN
+IF (LCHEMDIAG) THEN
         CALL CH_INIT_BUDGET_n(ILUOUT)
         IF (NEQ_BUDGET>0) THEN
                 ALLOCATE(IINDEX(2,NNONZEROTERMS))