diff --git a/js/cells/DMACell.js b/js/cells/DMACell.js
index 7adc5cbafeb4099c2720d30b9c8e14b9a2fd4d97..2575f0f68cb5471e26a2cddc53ba908be8c7af86 100644
--- a/js/cells/DMACell.js
+++ b/js/cells/DMACell.js
@@ -156,7 +156,7 @@ DMACell.prototype.destroy = function(){
     this.destroyStarted = true;
     if (this.object3D) {
         if (this.superCell) this.object3D.parent.remove(this.object3D);
-        else if (this.indices) globals.three.sceneRemove(this.object3D, "cell");
+        if (this.indices) globals.three.sceneRemove(this.object3D, "cell");
         this.object3D.myParent = null;
 //            this.object3D.dispose();
 //            geometry.dispose();
diff --git a/js/lattice/Lattice.js b/js/lattice/Lattice.js
index 79fa84da8838aad1faffb4fc7ef4cdda44b81b29..9c05d63369cf39cc22943404ada26ff72026bdda 100644
--- a/js/lattice/Lattice.js
+++ b/js/lattice/Lattice.js
@@ -376,6 +376,8 @@ Lattice = Backbone.Model.extend({
 
     _updateLatticeType: function(arg1, arg2, arg3, loadingFromFile){//do not clear cells if loading from file (cells array contains important metadata)
 
+        if (this.previous("connectionType") == "gik") this.clearCells();
+
         this._setToDefaultsSilently();
         this._setDefaultCellMode();
 
diff --git a/js/models/ThreeModel.js b/js/models/ThreeModel.js
index 809f598b554e7292066b9d24034f4da2a11c22b9..4c96beec559ac1ae6159243cd7ca013d621ef69c 100644
--- a/js/models/ThreeModel.js
+++ b/js/models/ThreeModel.js
@@ -11,7 +11,7 @@ function ThreeModel(){
 
     //store all meshes to highlight
     var cells = [];
-    var parts = [];
+//    var parts = [];
     var basePlane = [];
 
     var animationLoopRunning = false;
@@ -63,7 +63,7 @@ function ThreeModel(){
                 cells.push(child.children[0]);
             });
         } else if (type == "part"){//todo change this
-            parts.push(object);
+//            parts.push(object);
         } else if (type == "basePlane"){
             basePlane.push(object);
         }
@@ -71,36 +71,25 @@ function ThreeModel(){
 
     function sceneRemove(object, type){
 
-        var objectToRemove = getParentObject(object);
-
         if (type == "cell"){
-            cells.splice(cells.indexOf(objectToRemove.children[0]), 1);
+            cells.splice(cells.indexOf(object.children[0]), 1);
         } else if (type == "part"){
-            parts.splice(parts.indexOf(objectToRemove), 1);
+//            parts.splice(parts.indexOf(object), 1);
         } else if (type == "basePlane"){
             basePlane.splice(0, basePlane.length);//delete array without removing reference
         }
-        scene.remove(objectToRemove);
+        scene.remove(object);
     }
 
     function removeAllCells(){
         _.each(cells, function(cell){
-            var objectToRemove = getParentObject(cell);
-            scene.remove(objectToRemove);
-        });
-        _.each(parts, function(part){
-            scene.remove(part);
+            scene.remove(cell);
         });
+//        _.each(parts, function(part){
+//            scene.remove(part);
+//        });
         cells.splice(0, cells.length);
-        parts.splice(0, parts.length);
-    }
-
-    function getParentObject(object){
-        var objectToRemove = object;
-        if (object.parent && object.parent.type != "Scene") {
-            objectToRemove = object.parent;
-        }
-        return objectToRemove;
+//        parts.splice(0, parts.length);
     }
 
     function startAnimationLoop(){
@@ -144,7 +133,7 @@ function ThreeModel(){
         domElement: renderer.domElement,
         camera: camera,
         cells: cells,
-        parts: parts,
+//        parts: parts,
         basePlane: basePlane,
         removeAllCells: removeAllCells
     }
diff --git a/js/threeViews/ThreeView.js b/js/threeViews/ThreeView.js
index 779d9a69f2a335b70e66ad0c9c4f0a1043284c13..5661095bad1c426f2c92d4e74a400b366704fd9f 100644
--- a/js/threeViews/ThreeView.js
+++ b/js/threeViews/ThreeView.js
@@ -113,14 +113,14 @@ ThreeView = Backbone.View.extend({
             }
         }
 
-        if (globals.appState.get("cellMode") == "part"){//additionally check for part intersections in part mode
-            var partIntersections = this.mouseProjection.intersectObjects(this.model.parts, false);
-            if (partIntersections.length == 0) {
-                this._setNoPartIntersections();
-                return;
-            }
-            this._handlePartIntersections(partIntersections, intersections[0].distance);
-        }
+//        if (globals.appState.get("cellMode") == "part"){//additionally check for part intersections in part mode
+//            var partIntersections = this.mouseProjection.intersectObjects(this.model.parts, false);
+//            if (partIntersections.length == 0) {
+//                this._setNoPartIntersections();
+//                return;
+//            }
+//            this._handlePartIntersections(partIntersections, intersections[0].distance);
+//        }
     },
 
     ////////////////////////////////////////////////////////////////////////////////