diff --git a/src/SURFEX/arrange_cover.F90 b/src/SURFEX/arrange_cover.F90
index a48489ee564060e662ff5b3fb0a9e3dccb6de0a6..c9a497781a73ab20d91fb7ce8525caf74befc436 100644
--- a/src/SURFEX/arrange_cover.F90
+++ b/src/SURFEX/arrange_cover.F90
@@ -155,7 +155,8 @@ IF(OTOWN_TO_ROCK)THEN
   IF (OECOSG) DTCO%XDATA_VEGTYPE(SUM(NTYPE(1:3))+1:SUM(NTYPE(1:3))+10,NVT_ROCK)=1. ! #rustine
   !
   DO JCOVER=1,JPCOVER
-     IF(DTCO%XDATA_TOWN(JCOVER)>0.0.OR.DTCO%XDATA_GARDEN(JCOVER)>0.0)THEN
+     
+     IF(DTCO%XDATA_TOWN(JCOVER)>0.0.OR.DTCO%XDATA_GARDEN(JCOVER)>0.0 .AND. .NOT. DTCO%XDATA_GARDEN(JCOVER)==XUNDEF )THEN
        !
        DTCO%XDATA_NATURE(JCOVER) = DTCO%XDATA_NATURE(JCOVER) + DTCO%XDATA_GARDEN(JCOVER) * DTCO%XDATA_TOWN(JCOVER)
        DTCO%XDATA_TOWN  (JCOVER) = DTCO%XDATA_TOWN  (JCOVER) * ( 1. - DTCO%XDATA_GARDEN(JCOVER))