diff --git a/src/MNH/prep_pgd.f90 b/src/MNH/prep_pgd.f90
index e1433f6e9a5fcc2259bb80f64950c521a3299c24..2f5a3e2050c6522ef2c3a5464a7c4fdf7167c025 100644
--- a/src/MNH/prep_pgd.f90
+++ b/src/MNH/prep_pgd.f90
@@ -68,6 +68,7 @@
 !!    M.Moge          11/2015     disable the creation of files on multiple 
 !!                                Z-levels when using parallel IO for PREP_PGD
 !!  06/2016     (G.Delautier) phasage surfex 8
+!!    10/2016    (S.Faroux S.Bielli) correction for NHALO=0
 !----------------------------------------------------------------------------
 !
 !*    0.     DECLARATION
@@ -287,11 +288,27 @@ IF (LNETCDF.AND..NOT.LCARTESIAN) THEN
   ALLOCATE(ZWORK_LAT(IIMAX+2*JPHEXT,IJMAX+2*JPHEXT))
   ALLOCATE(ZWORK_LON(IIMAX+2*JPHEXT,IJMAX+2*JPHEXT))
   ZWORK=RESHAPE(YSURF_CUR%UG%XLAT, (/ (IIMAX+NHALO*2),(IJMAX+NHALO*2) /) )
-  ZWORK_LAT=ZWORK(NHALO:(IIMAX+NHALO+1),NHALO:(IJMAX+NHALO+1))
+  IF (NHALO/=0) THEN   
+    ZWORK_LAT=ZWORK(NHALO:(IIMAX+NHALO+1),NHALO:(IJMAX+NHALO+1))
+  ELSE
+    ZWORK_LAT(2:IIMAX+1,2:IJMAX+1)=ZWORK
+    ZWORK_LAT(1,:) = ZWORK_LAT(2,:)
+    ZWORK_LAT(IIMAX+2,:) = ZWORK_LAT(IIMAX+1,:)
+    ZWORK_LAT(:,1) = ZWORK_LAT(:,2)
+    ZWORK_LAT(:,IJMAX+2) = ZWORK_LAT(:,IJMAX+1)
+  ENDIF
 !!
 CALL FMWRIT(COUTFMFILE,'LAT',CLUOUT0,'XY',ZWORK_LAT,1,21,'X_Y_latitude (degree)',IRESP)
   ZWORK=RESHAPE(YSURF_CUR%UG%XLON, (/ IIMAX+NHALO*2,IJMAX+NHALO*2 /) )
-  ZWORK_LON=ZWORK(NHALO:(IIMAX+NHALO+1),NHALO:(IJMAX+NHALO+1))
+   IF (NHALO/=0) THEN   
+     ZWORK_LON=ZWORK(NHALO:(IIMAX+NHALO+1),NHALO:(IJMAX+NHALO+1))
+   ELSE
+     ZWORK_LON(2:IIMAX+1,2:IJMAX+1)=ZWORK
+     ZWORK_LON(1,:) = ZWORK_LON(2,:)
+     ZWORK_LON(IIMAX+2,:) = ZWORK_LON(IIMAX+1,:)
+     ZWORK_LON(:,1) = ZWORK_LAT(:,2)
+     ZWORK_LON(:,IJMAX+2) = ZWORK_LON(:,IJMAX+1)           
+   ENDIF    
 CALL FMWRIT(COUTFMFILE,'LON',CLUOUT0,'XY',ZWORK_LON,1,22,'X_Y_longitude (degree)',IRESP)
   DEALLOCATE(ZWORK)
   LLFIFM = .TRUE.
@@ -334,9 +351,25 @@ IF (.NOT.LCARTESIAN) THEN
    ALLOCATE(ZWORK_LAT(IIMAX+2*JPHEXT,IJMAX+2*JPHEXT))
    ALLOCATE(ZWORK_LON(IIMAX+2*JPHEXT,IJMAX+2*JPHEXT))
    ZWORK=RESHAPE(YSURF_CUR%UG%XLAT, (/ (IIMAX+NHALO*2),(IJMAX+NHALO*2) /) )
-   ZWORK_LAT=ZWORK(NHALO:(IIMAX+NHALO+1),NHALO:(IJMAX+NHALO+1))
+   IF (NHALO/=0) THEN   
+     ZWORK_LAT=ZWORK(NHALO:(IIMAX+NHALO+1),NHALO:(IJMAX+NHALO+1))
+   ELSE
+     ZWORK_LAT(2:IIMAX+1,2:IJMAX+1)=ZWORK
+     ZWORK_LAT(1,:) = ZWORK_LAT(2,:)
+     ZWORK_LAT(IIMAX+2,:) = ZWORK_LAT(IIMAX+1,:)
+     ZWORK_LAT(:,1) = ZWORK_LAT(:,2)
+     ZWORK_LAT(:,IJMAX+2) = ZWORK_LAT(:,IJMAX+1)
+   ENDIF
    ZWORK=RESHAPE(YSURF_CUR%UG%XLON, (/ IIMAX+NHALO*2,IJMAX+NHALO*2 /) )
-   ZWORK_LON=ZWORK(NHALO:(IIMAX+NHALO+1),NHALO:(IJMAX+NHALO+1))
+   IF (NHALO/=0) THEN   
+     ZWORK_LON=ZWORK(NHALO:(IIMAX+NHALO+1),NHALO:(IJMAX+NHALO+1))
+   ELSE
+     ZWORK_LON(2:IIMAX+1,2:IJMAX+1)=ZWORK
+     ZWORK_LON(1,:) = ZWORK_LON(2,:)
+     ZWORK_LON(IIMAX+2,:) = ZWORK_LON(IIMAX+1,:)
+     ZWORK_LON(:,1) = ZWORK_LON(:,2)
+     ZWORK_LON(:,IJMAX+2) = ZWORK_LON(:,IJMAX+1)           
+   ENDIF   
    YRECFM='LAT'
    YCOMMENT='X_Y_latitude (degree)'
    IGRID=1