--- mapscript/swiginc/layer.i.ORIG	2007-03-07 16:56:01.000000000 +0100
+++ mapscript/swiginc/layer.i	2007-03-07 16:54:55.000000000 +0100
@@ -61,12 +61,14 @@
                                         "layerObj()");
                 return(NULL);
             }
+      	    map->layers[map->numlayers]=(layerObj*)malloc(sizeof(layerObj));
             if (initLayer((map->layers[map->numlayers]), map) == -1)
                 return(NULL);
 
             map->layers[map->numlayers]->index = map->numlayers;
             map->layerorder[map->numlayers] = map->numlayers;
             map->numlayers++;
+	    MS_REFCNT_INCR(map->layers[map->numlayers-1]);
 
             return (map->layers[map->numlayers-1]);
         }

