diff --git a/src/mapfile.py b/src/mapfile.py
index 074fee3cb5e33d13af3e85f29c045905df02baa0..7da06a6a05d3d8da1f4c2b5442cba1f40831f4f9 100644
--- a/src/mapfile.py
+++ b/src/mapfile.py
@@ -147,8 +147,10 @@ class Layer(MetadataMixin):
         else:
             raise ValueError("Bad sld (No NamedLayer/Name)")
 
-
-        etree.register_namespace("", "http://www.opengis.net/sld")
+        try:
+            etree.register_namespace("", "http://www.opengis.net/sld")
+        except:
+            pass
         new_sld = etree.tostring(xmlsld)
 
         ms_template_layer = self.ms.clone()
@@ -380,12 +382,12 @@ class FeatureTypeModel(LayerModel):
 
         # TODO: Check if class already exists.
         # If no class exists we add a new class by default
-        if layer.ms.type == mapscript.MS_LAYER_POINT:
-            maptools.create_def_point_class(layer.ms)
-        elif layer.ms.type == mapscript.MS_LAYER_LINE:
-            maptools.create_def_line_class(layer.ms)
-        elif layer.ms.type == mapscript.MS_LAYER_POLYGON:
-            maptools.create_def_polygon_class(layer.ms)
+#        if layer.ms.type == mapscript.MS_LAYER_POINT:
+#            maptools.create_def_point_class(layer.ms)
+#        elif layer.ms.type == mapscript.MS_LAYER_LINE:
+#            maptools.create_def_line_class(layer.ms)
+#        elif layer.ms.type == mapscript.MS_LAYER_POLYGON:
+#            maptools.create_def_polygon_class(layer.ms)
 
         plugins.extend("post_configure_vector_layer", self, ws, ds, ft, layer)
 
@@ -836,6 +838,89 @@ class Mapfile(MetadataMixin):
         layer.update(l_metadata)
         model.configure_layer(ws, layer, l_enabled)
 
+        # TODO: Check if class already exists.
+        # If no class exists we add a new class by default
+        if layer.ms.type == mapscript.MS_LAYER_POINT:
+            # TODO: move this sld in external files
+            s_name = 'default_point'
+            style = '<StyledLayerDescriptor version="1.0.0" \
+                      xsi:schemaLocation="http://www.opengis.net/sld \
+                      http://schemas.opengis.net/sld/1.0.0/StyledLayerDescriptor.xsd"> \
+                      <NamedLayer> \
+                        <Name>foo</Name> \
+                        <UserStyle> \
+                          <FeatureTypeStyle> \
+                            <Rule> \
+                              <Name>Class given in default</Name> \
+                              <PointSymbolizer> \
+                                <Graphic> \
+                                  <Size>6.0</Size> \
+                                  <Mark> \
+                                    <WellKnownName>cross</WellKnownName> \
+                                    <Fill> \
+                                      <CssParameter name="fill">#000000</CssParameter> \
+                                    </Fill> \
+                                  </Mark> \
+                                </Graphic> \
+                              </PointSymbolizer> \
+                            </Rule> \
+                          </FeatureTypeStyle> \
+                        </UserStyle> \
+                      </NamedLayer> \
+                    </StyledLayerDescriptor>'
+
+        elif layer.ms.type == mapscript.MS_LAYER_LINE:
+            # TODO: move this sld in external files
+            s_name = 'default_line'
+            style = '<StyledLayerDescriptor version="1.0.0" \
+                      xsi:schemaLocation="http://www.opengis.net/sld \
+                      http://schemas.opengis.net/sld/1.0.0/StyledLayerDescriptor.xsd"> \
+                      <NamedLayer> \
+                        <Name>foo</Name> \
+                        <UserStyle> \
+                          <FeatureTypeStyle> \
+                            <Rule> \
+                              <Name>Class given in default</Name> \
+                              <LineSymbolizer> \
+                                <Stroke> \
+                                  <CssParameter name="stroke">#000000</CssParameter> \
+                                  <CssParameter name="stroke-width">1.5</CssParameter> \
+                                </Stroke> \
+                              </LineSymbolizer> \
+                            </Rule> \
+                          </FeatureTypeStyle> \
+                        </UserStyle> \
+                      </NamedLayer> \
+                    </StyledLayerDescriptor>'
+
+        elif layer.ms.type == mapscript.MS_LAYER_POLYGON:
+            # TODO: move this sld in external files
+            s_name = 'default_polygon'
+            style = '<StyledLayerDescriptor version="1.0.0" \
+                      xsi:schemaLocation="http://www.opengis.net/sld \
+                      http://schemas.opengis.net/sld/1.0.0/StyledLayerDescriptor.xsd"> \
+                      <NamedLayer> \
+                        <Name>foo</Name> \
+                        <UserStyle> \
+                          <FeatureTypeStyle> \
+                            <Rule> \
+                              <Name>Class given in default</Name> \
+                              <PolygonSymbolizer> \
+                                <Fill> \
+                                  <CssParameter name="fill">#C0C0C0</CssParameter> \
+                                </Fill> \
+                                <Stroke> \
+                                  <CssParameter name="stroke">#000000</CssParameter> \
+                                  <CssParameter name="stroke-width">1.25</CssParameter> \
+                                </Stroke> \
+                              </PolygonSymbolizer> \
+                            </Rule> \
+                          </FeatureTypeStyle> \
+                        </UserStyle> \
+                      </NamedLayer> \
+                    </StyledLayerDescriptor>'
+
+        layer.add_style_sld(self, s_name, style)
         return layer
 
     def delete_layer(self, l_name):