Index: /trunk/src/org/openstreetmap/josm/actions/CreateMultipolygonAction.java
===================================================================
--- /trunk/src/org/openstreetmap/josm/actions/CreateMultipolygonAction.java	(revision 6764)
+++ /trunk/src/org/openstreetmap/josm/actions/CreateMultipolygonAction.java	(revision 6765)
@@ -316,5 +316,5 @@
     }
 
-    public static final List<String> DEFAULT_LINEAR_TAGS = Arrays.asList(new String[] {"barrier", "source"});
+    public static final List<String> DEFAULT_LINEAR_TAGS = Arrays.asList("barrier", "fence_type", "source");
 
     /**
@@ -325,11 +325,5 @@
      */
     private static List<Command> removeTagsFromWaysIfNeeded( Relation relation ) {
-        Map<String, String> values = new HashMap<String, String>();
-
-        if( relation.hasKeys() ) {
-            for( String key : relation.keySet() ) {
-                values.put(key, relation.get(key));
-            }
-        }
+        Map<String, String> values = new HashMap<String, String>(relation.getKeys());
 
         List<Way> innerWays = new ArrayList<Way>();
@@ -372,5 +366,5 @@
             values.remove(linearTag);
 
-        if( values.containsKey("natural") && values.get("natural").equals("coastline") )
+        if ("coastline".equals(values.get("natural")))
             values.remove("natural");
 
@@ -386,5 +380,5 @@
 
             for (Way way : innerWays) {
-                if (way.hasKey(key) && (value.equals(way.get(key)))) {
+                if (value.equals(way.get(key))) {
                     affectedWays.add(way);
                 }
