diff --git a/javascript/difference.js b/javascript/difference.js
index 6be0cadb9bc02f4e0619a5cf070c048b2db4a014..6b9f6d3774231022efd6460327791c97b30ddd52 100644
--- a/javascript/difference.js
+++ b/javascript/difference.js
@@ -6,14 +6,16 @@ function difference() {
     var name = document.getElementById("differenceName").value;
 
     // MÃ¥ konverteres fra feature collection til multipolygon:
-    var coords1 = featureCollectionToMultiPolygon(layer1);
-    var coords2 = featureCollectionToMultiPolygon(layer2);
-    
-    var multiPolygon1 = turf.multiPolygon(coords1);
-    var multiPolygon2 = turf.multiPolygon(coords2);
+    var multiPolygon1 = featureCollectionToMultiPolygon(layer1);
+    var multiPolygon2 = featureCollectionToMultiPolygon(layer2);
 
     try {
         var difference = turf.difference(multiPolygon1, multiPolygon2);
+        
+        if (isMultiPolygon(difference)) {
+            difference = multiPolygonToFeatureCollection(difference);
+        }
+        
         var newLayer = L.geoJSON(difference, {style: getStyle()});
         
         overlayMaps[name] = newLayer;
diff --git a/javascript/dissolve.js b/javascript/dissolve.js
index d96954c424ddd951633223f6e1941d4afbef6a98..b81f94cdb64fe9549ba76e6059c5a1b1eb702c2d 100644
--- a/javascript/dissolve.js
+++ b/javascript/dissolve.js
@@ -6,7 +6,7 @@ function dissolve() {
     try {
         var dissolved = turf.dissolve(layer);
         var newLayer = L.geoJSON(dissolved, {style: getStyle()});
-
+        
         overlayMaps[name] = newLayer;
 
         updateSidebar();
diff --git a/javascript/intersect.js b/javascript/intersect.js
index d403852dd0c4328fda439aa7fc153cb543d22557..d04e02df4c5fdf6d683b0ddcdc23b517ce2bded8 100644
--- a/javascript/intersect.js
+++ b/javascript/intersect.js
@@ -6,14 +6,16 @@ function intersection() {
     var name = document.getElementById("intersectionName").value;
     
     // MÃ¥ konverteres fra feature collection til multipolygon:
-    var coords1 = featureCollectionToMultiPolygon(layer1);
-    var coords2 = featureCollectionToMultiPolygon(layer2);
-    
-    var multiPolygon1 = turf.multiPolygon(coords1);
-    var multiPolygon2 = turf.multiPolygon(coords2);
+    var multiPolygon1 = featureCollectionToMultiPolygon(layer1);
+    var multiPolygon2 = featureCollectionToMultiPolygon(layer2);
     
     try {
         var intersection = turf.intersect(multiPolygon1, multiPolygon2);
+        
+        if (isMultiPolygon(intersection)) {
+            intersection = multiPolygonToFeatureCollection(intersection);
+        }
+
         var newLayer = new L.GeoJSON(intersection, {style: getStyle()});
         
         overlayMaps[name] = newLayer;
diff --git a/javascript/turfFormatConverter.js b/javascript/turfFormatConverter.js
index 00f6c7ccca40e625e95a25c10fa440e1aefc9375..2b2e9d6bd07d7bd04a26dccfe4f74f0f3c9a7ca9 100644
--- a/javascript/turfFormatConverter.js
+++ b/javascript/turfFormatConverter.js
@@ -11,22 +11,25 @@ function featureCollectionToMultiPolygon(layer) { // layer er her et GeoJSON-lag
         for (var i = 0; i < features.length; i++) {
             coords.push(features[i]["geometry"]["coordinates"]);
         }
-        return coords;
+        return turf.multiPolygon(coords);
     }
 }
 
-/*
+function isMultiPolygon(layer) {
+    if (layer["geometry"]["type"] == "MultiPolygon") {
+        return true;
+    }
+    return false;
+}
+
 function multiPolygonToFeatureCollection(layer) {
-    if (layer["type"] == "MultiPolygon") {
-        var features = [];
-        for (var i = 0; i < layer["coordinates"].length; i++) {
-            var geometry = {
-                "type": "Polygon",
-                "coordinates": layer["geometry"][i]
-            }
-            coords.push(geometry);
-        }
-        return turf.featureCollection(features);
+    var features = [];
+    for (var i = 0; i < layer["geometry"]["coordinates"].length; i++) {
+        var geometry = {
+            "type": "Polygon",
+            "coordinates": layer["geometry"]["coordinates"][i]
+        };
+        features.push(turf.feature(geometry));
     }
+    return turf.featureCollection(features);
 }
-*/
diff --git a/javascript/union.js b/javascript/union.js
index 0237cc49eb617e455c033f18bdf1e567a314996a..1e38d208fe5b734cc4dc5653875461a6a431067d 100644
--- a/javascript/union.js
+++ b/javascript/union.js
@@ -14,6 +14,11 @@ function union() {
 
     try {
         var union = turf.union(multiPolygon1, multiPolygon2);
+
+        if (isMultiPolygon(union)) {
+            union = multiPolygonToFeatureCollection(union);
+        }
+
         var newLayer = L.geoJSON(union, {style: getStyle()});
 
         overlayMaps[name] = newLayer;