diff --git a/src/SURFEX/ini_csts.F90 b/src/SURFEX/ini_csts.F90
index 39462a53aff2b787418c5341955ebce5e3e22abc..a17a39e36b87555f47b3de7347072396f751e4c4 100644
--- a/src/SURFEX/ini_csts.F90
+++ b/src/SURFEX/ini_csts.F90
@@ -54,6 +54,9 @@
 !              ------------
 !
 USE MODD_CSTS
+#ifdef SFX_MNH
+USE MODD_PRECISION, ONLY: MNHREAL
+#endif
 !
 !
 USE YOMHOOK   ,ONLY : LHOOK,   DR_HOOK
@@ -78,10 +81,12 @@ REAL(KIND=JPRB) :: ZHOOK_HANDLE
 IF (LHOOK) CALL DR_HOOK('INI_CSTS',0,ZHOOK_HANDLE)
 
 #ifdef SFX_MNH
-#ifdef MNH_MPI_DOUBLE_PRECISION
-XSURF_TINY    = 1.0e-80
-#else
+#if (MNH_REAL == 8)
+XSURF_TINY    = 1.0e-80_MNHREAL
+#elif (MNH_REAL == 4)
 XSURF_TINY    = TINY    (XSURF_TINY    )
+#else
+#error "Invalid MNH_REAL"
 #endif
 #else
 XSURF_TINY    = 1.0e-80
diff --git a/src/SURFEX/modd_surf_par.F90 b/src/SURFEX/modd_surf_par.F90
index 2947cd3b09848242c0076ed458ca118df77cdd36..f38334f2d6003bdf0e8379982f11d71094f4bd59 100644
--- a/src/SURFEX/modd_surf_par.F90
+++ b/src/SURFEX/modd_surf_par.F90
@@ -33,6 +33,9 @@ MODULE MODD_SURF_PAR
 !*       0.   DECLARATIONS
 !             ------------
 !
+#ifdef SFX_MNH
+USE MODD_PRECISION, ONLY: MNHREAL
+#endif
 !
 IMPLICIT NONE
 !
@@ -43,10 +46,12 @@ INTEGER :: NBUGFIX   ! bugfix number of this version
 #ifndef SFX_MNH
 REAL,    PARAMETER :: XUNDEF = 1.E+20
 #else 
-#ifdef MNH_MPI_DOUBLE_PRECISION
-REAL,    PARAMETER :: XUNDEF = 1.E+20! HUGE(XUNDEF) ! Z'7FFFFFFFFFFFFFFF' !  undefined value
+#if (MNH_REAL == 8)
+REAL,    PARAMETER :: XUNDEF = 1.E+20_MNHREAL ! HUGE(XUNDEF) ! Z'7FFFFFFFFFFFFFFF' !  undefined value
+#elif (MNH_REAL == 4)
+REAL,    PARAMETER :: XUNDEF = 1.E+9_MNHREAL  ! HUGE(XUNDEF) ! Z'7FBFFFFF' ! undefined value
 #else
-REAL,    PARAMETER :: XUNDEF = 1.E+9 ! HUGE(XUNDEF) ! Z'7FBFFFFF' ! undefined value
+#error "Invalid MNH_REAL"
 #endif
 #endif
 INTEGER, PARAMETER :: NUNDEF = 1E+9   !  HUGE(NUNDEF) !  undefined value