diff --git a/src/SURFEX/regular_grid_spawn.F90 b/src/SURFEX/regular_grid_spawn.F90
index 70b9697d0c96a37d0d62dcf6b37e02f5f8f1f215..94a78d404de56096cf3d801591d2cf1851728963 100644
--- a/src/SURFEX/regular_grid_spawn.F90
+++ b/src/SURFEX/regular_grid_spawn.F90
@@ -39,6 +39,7 @@
 !!        M.Moge    04/2015  Parallelization using routines from MNH/SURCOUCHE
 !!        M.Moge    06/2015  bug fix for reproductibility using UPDATE_NHALO1D
 !!        M.Moge    01/2016  bug fix for parallel execution with SPLIT2
+!!        Juan & Maxime 24/03/2016: bug fix in 002/pgd when proc have no data/empty intersection to send/recv 
 !-------------------------------------------------------------------------------
 !
 !*       0.    DECLARATIONS
@@ -326,11 +327,11 @@ ENDDO
     TZCRSPDSENDTAB(1)%NCARD = 0
     TZCRSPDSENDTAB(1)%NCARDDIF = 0
   ENDIF
-!  IF (ICARD > 0) THEN
+ IF (ICARD > 0) THEN
     TZCRSPDSEND => TZCRSPDSENDTAB(1)
-!  ELSE
-!    TZCRSPDSEND => NULL()
-!  ENDIF
+ ELSE
+   TZCRSPDSEND => NULL()
+ ENDIF
   !
   ! ######## initializing the structures for the RECV ########
   !
@@ -393,21 +394,19 @@ ENDDO
       TZCRSPDRECVTAB(J)%NCARDDIF = ICARDDIF
     ENDDO
   ELSE
-    !il faut tout de meme mettre un element de taille 0 dans TZCRSPDRECVTAB
-    !sinon SEND_RECV_FIELD plante en 02
     ALLOCATE( TZCRSPDRECVTAB(1) )
     ICARD = 0
     ICARDDIF = 0
-    TZCRSPDRECVTAB(1)%TELT = TZSEND(1)
+    TZCRSPDRECVTAB(1)%TELT = TZRECV(1)
     TZCRSPDRECVTAB(1)%TNEXT => NULL()
     TZCRSPDRECVTAB(1)%NCARD = 0
     TZCRSPDRECVTAB(1)%NCARDDIF = 0
   ENDIF
-!  IF (ICARD > 0) THEN
+ IF (ICARD > 0) THEN
     TZCRSPDRECV => TZCRSPDRECVTAB(1)
-!  ELSE
-!    TZCRSPDRECV => NULL()
-!  ENDIF
+ ELSE
+   TZCRSPDRECV => NULL()
+ ENDIF
 #else
 IIMAX_C = KIMAX_C_ll
 IJMAX_C = KJMAX_C_ll