diff --git a/src/MNH/ground_paramn.f90 b/src/MNH/ground_paramn.f90
index 79aeb4ff4470f358b595d3a0a989095c3b092db8..bfaa10f4556b704f6f114e71b8f50d8d8714baaf 100644
--- a/src/MNH/ground_paramn.f90
+++ b/src/MNH/ground_paramn.f90
@@ -1072,14 +1072,14 @@ END IF
 IF (LUSECHEM) THEN
    DO JSV=NSV_CHEMBEG,NSV_CHEMEND
       PSFSV(:,:,JSV) = ZSFTS(:,:,JSV) * XMD / ( XAVOGADRO * XRHODREF(:,:,IKB))
-      IF ((LCHEMDIAG).AND.(CPROGRAM == 'DIAG  ')) XCHFLX(:,:,JSV-NSV_CHEMBEG+1) = PSFSV(:,:,JSV)    
-   END DO
-    IF (CPROGRAM == 'MESONH') THEN
+    IF ((LCHEMDIAG).AND.(CPROGRAM == 'DIAG  ')) XCHFLX(:,:,JSV-NSV_CHEMBEG+1) = PSFSV(:,:,JSV)    
+    IF ((CPROGRAM == 'MESONH').AND.(TRIM(CNAMES(JSV-NSV_CHEMBEG+1))=='DMS')) THEN
     ! net flux of so2 in kg/m2/s
-    XFLX_DMS(:,:) = ZSFTS(:,:,NSV_CHEMBEG-1+JP_DMS) *62.13E-3 / XAVOGADRO
+     XFLX_DMS(:,:) = ZSFTS(:,:,JSV) *62.13E-3 / XAVOGADRO
     ! total net flux of so2 in kg/m2
-    XFLXT_DMS(:,:) = XFLXT_DMS(:,:)+ ZSFTS(:,:,NSV_CHEMBEG-1+JP_DMS)*XTSTEP
+     XFLXT_DMS(:,:) = XFLXT_DMS(:,:)+ ZSFTS(:,:,JSV)*XTSTEP
     END IF
+   END DO
 
 ELSE
   PSFSV(:,:,NSV_CHEMBEG:NSV_CHEMEND) = 0.